How to plot the region corresponding to an inequality?

74 Ansichten (letzte 30 Tage)
Dimitrios Anagnostou
Dimitrios Anagnostou am 10 Feb. 2022
Kommentiert: Andrew Sol am 21 Jan. 2023
I want to plot create the region plot for the inequality for . In Mathematica this can be done by
RegionPlot[y - x^2 >= 0, {x, -Sqrt[3], Sqrt[3]}, {y, 0, 3}, FrameLabel -> {"x", "y"}]
producing the following plot
How can one produce a similar plot in Matlab? The best I could do was using the spy function as follows
h = 0.01;
[x,y] = meshgrid(-sqrt(3):h:sqrt(3),0:h:3);
e = zeros(size(x));
Z = y-x.^2;
figure(1)
spy(Z >= e);
xlabel('x'), ylabel('y')
Here is another try
clear
h = 0.05;
[x,y] = meshgrid(-sqrt(3):h:sqrt(3),0:h:3);
ineq = y-x.^2 >= 0;
f = double(ineq);
figure(2)
surf(x,y,f);
xlabel('x'), ylabel('y')
view(0,90)
Any ideas? Thank you very much in advance.

Akzeptierte Antwort

KSSV
KSSV am 10 Feb. 2022
You are good to go with second method:
h = 0.01;
[x,y] = meshgrid(-sqrt(3):h:sqrt(3),0:h:3);
% e = zeros(size(x));
Z = y-x.^2;
idx = double(Z>=0) ;
figure(1)
pcolor(x,y,idx)
shading interp
xlabel('x'), ylabel('y')
  3 Kommentare
KSSV
KSSV am 10 Feb. 2022
Bearbeitet: KSSV am 10 Feb. 2022
h = 0.01;
[x,y] = meshgrid(-sqrt(3):h:sqrt(3),0:h:3);
% e = zeros(size(x));
Z = y-x.^2;
idx = double(Z>=0) ;
figure(1)
% spy(Z >= 0);
% xlabel('x'), ylabel('y')
pcolor(x,y,idx)
shading interp
cmap = [255 255 255;0 0 255]/255 ;
colormap(cmap)
Andrew Sol
Andrew Sol am 21 Jan. 2023
How can I add a grid to this plot?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Formatting and Annotation finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by