How do I plot the intersection of two inequalities?

3 views (last 30 days)
I have these two inequalities and I wanna have something like the graph:
I used this code to get this graph, and rotate the axis to show only the xy-plane, but I wanted to represent this area using only the two inequalities.
[x1,x2] = meshgrid(-10:0.02:10,-10:0.02:10);
z = x2 - 8./x1;
cond1 = x1./5 - x2 >= 0;
cond2 = 16 - (x1-5).^2 - x2.^2 >= 0;
cond = cond1.*cond2; z(cond == 0) = NaN;
mesh(x1, x2, z);
  2 Comments
Chen
Chen on 9 Oct 2023
Excuse me, what is sense of the cond = cond1.*cond2; z(cond == 0) = NaN ?
Thanks

Sign in to comment.

Answers (2)

Mathieu NOE
Mathieu NOE on 10 Oct 2023
try this :
[x1,x2] = meshgrid(-10:0.02:10,-10:0.02:10);
z = x2 - 8./x1;
cond1 = x1./5 - x2 >= 0;
cond2 = 16 - (x1-5).^2 - x2.^2 >= 0;
cond = cond1.*cond2; z(cond == 0) = NaN;
surf(x1, x2,0*z, z);
shading interp
view(2)
  1 Comment
Mathieu NOE
Mathieu NOE on 11 Dec 2023
hello again
do you mind accepting my answer (if it has fullfiled your expectations ) ? tx

Sign in to comment.


Ayush Modi
Ayush Modi on 10 Oct 2023
Hi Gustavo,
As per my understanding, you would like to see the area covered by both the inequalities.
Here is an example showing how you can implement the same:
inq1 = ((1/5)*X) - Y >= 0;
inq2 = 16 - (X-5).^2 - Y.^2 >=0;
% Combine the inequalities
% area = inequality1 & inequality2;
area = inq1 & inq2;
% Create a figure and plot the area
figure;
fill(X(area), Y(area),'b');
Hope this helps!

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!