Mesh plot of the function sqrt(y-x^2)
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dimitrios Anagnostou
le 6 Avr 2021
Commenté : Star Strider
le 6 Avr 2021
I want to plot the function
The function is defined for
. With
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/574592/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/574597/image.png)
f = @(x,y)sqrt(y-x.^2);
fmesh(f,[-3 3 0 9])
I get a mesh plot of the function in the rectangle [-3,3]X[0,9]. I want to plot the function using meshgrid. The following code results to complex values error message.
x = -3:1:3
y = 0:1:9
[X, Y] = meshgrid(x,y)
Z = sqrt(Y-X.^2)
mesh(X,Y,Z)
The problem is that Z is evaluated for not suitable pairs of (X,Y). What am I doing wrong?
0 commentaires
Réponse acceptée
Star Strider
le 6 Avr 2021
Modifié(e) : Star Strider
le 6 Avr 2021
Try this:
x = -3:1:3;
y = 0:1:9;
[X, Y] = meshgrid(x,y);
Y = Y.*(Y>=X.^2); % Select Y ≥ X^2
Z = sqrt(Y-X.^2);
Zre = Z.*(imag(Z)==0); % Select Only Real Values Of ‘Z’
figure
mesh(X,Y,Zre)
EDIT — (5 Apr 2021 at 15:56)
Added:
Y = Y.*(Y>=X.^2); % Select Y ≥ X^2
to accord with the edited Question.
5 commentaires
Star Strider
le 6 Avr 2021
As always, my pleasure!
The easiest solution is to use fmesh. It is possible to examine the fmesh code using edit or type (however that is not very revealing, since it calls fsurf, that it is posible to examine in some detail) to see exactly how it works. The fsurf function then calls a number of other funcitons that I have not taken the time to examine closely. My information on the ‘f’ plotting functions derives from other discussions in MATLAB Central that I have read over the years.
Plus de réponses (1)
Bruno Luong
le 6 Avr 2021
Here is the surface in meshgrid form
s = -1:0.01:1;
y = 0:0.1:9;
[S, Y] = meshgrid(s,y);
X = S.*sqrt(Y);
Z = sqrt(max(Y-X.^2,0));
figure
mesh(X,Y,Z)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/574682/image.png)
0 commentaires
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!