Unable to plot inequality region

2 次查看(过去 30 天)
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.

采纳的回答

KSSV
KSSV 2022-6-18
编辑:KSSV 2022-6-18
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 个评论
KSSV
KSSV 2022-6-18
Replace zeros with Nan and use surf.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by