Unable to plot inequality region

1 visualización (últimos 30 días)
YLieven
YLieven el 18 de Jun. de 2022
Comentada: YLieven el 18 de Jun. de 2022
This is the solution I am trying to mimic, but for my case it does not seem to work:
syms ki kd
cond = [ -9*ki, 10*ki - 10*kd + 10, 360*kd - 24*ki + 1320]; % My 3 inequality conditions
Unrecognized function or variable 'ki'.
r = -5:0.01:5;
[ki, kd] = meshgrid(r);
condition1 = cond(1) > 0;
condition2 = cond(2) > 0;
condition3 = cond(3) > 0;
output = ones(length(r));
output(~(condition1 & condition2 & condition3)) = 0; % this fails
imshow(output, 'xdata', r, 'ydata', r);
axis on;
the line that fails gives me this error:
Error using symengine
Unable to prove '~0 < -9*ki | ~0 < 10*ki - 10*kd + 10 |
~0 < 360*kd - 24*ki + 1320' literally. Use 'isAlways' to
test the statement mathematically.
Error in sym/subsindex (line 841)
X =
find(mupadmex('symobj::logical',A.s,9)) -
1;
How can I solve this? It seems like it should be such a simple thing to do, but I can't make it work.

Respuesta aceptada

KSSV
KSSV el 18 de Jun. de 2022
Editada: KSSV el 18 de Jun. de 2022
r = -5:0.01:5;
[ki, kd] = meshgrid(r);
cond = -9*ki>0 & 10*ki - 10*kd + 10>0 & 360*kd - 24*ki + 1320>0; % My 3 inequality conditions
% output = ones(length(r));
% output(~(condition1 & condition2 & condition3)) = 0; % this fails
imshow(cond, 'xdata', r, 'ydata', r);
axis on;
  3 comentarios
KSSV
KSSV el 18 de Jun. de 2022
Replace zeros with Nan and use surf.
YLieven
YLieven el 18 de Jun. de 2022
It works! Thank you.

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by