445 views (last 30 days)

Show older comments

I'm looking to plot the two inequalities for the formula: abs(x+y+x.^2<3) and abs(y+x+y.^2<3)

with them both being on the same plot. How would I go about doing this please? Or any other similar example is fine.

Thanks in advance

Karan Gill
on 29 Jul 2016

Here's how to numerically evaluate the conditions and visualize them.

v = -5:0.01:5; % plotting range from -5 to 5

[x y] = meshgrid(v); % get 2-D mesh for x and y

cond1 = x+y+x.^2 < 3; % check conditions for these values

cond2 = y+x+y.^2 < 3;

cond1 = double(cond1); % convert to double for plotting

cond2 = double(cond2);

cond1(cond1 == 0) = NaN; % set the 0s to NaN so they are not plotted

cond2(cond2 == 0) = NaN;

cond = cond1.*cond2; % multiply the two condaces to keep only the common points

surf(x,y,cond)

view(0,90) % change to top view

Image Analyst
on 19 Apr 2021

The "cond" matrix is either 0 or nan, so why does it look curved/warped instead of flat?

Image Analyst
on 29 Jul 2016

You could do this:

r = -5:0.01:5; % plotting range from -5 to 5

[x, y] = meshgrid(r); % Get 2-D mesh for x and y based on r

condition1 = x+y+x.^2 < 3;

condition2 = y+x+y.^2 < 3;

output = ones(length(r)); % Initialize to 1

output(~(condition1 & condition2)) = 0; % Zero out coordinates not meeting conditions.

imshow(output, 'xdata', r, 'ydata', r); % Display

axis on;

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

Start Hunting!