Problem with ploting exp function
1 view (last 30 days)
Show older comments
I try to plot t(x,y) = (x^2 - 2y^2)*e^(x-y) in Matlab and i use the following code
t=@(x,y)((x.^2-2*y.^2).*exp(x-y));
x = -1:2/50:1;
y = -2:4/50:2;
[X, Y] = meshgrid(x, y);
surf(X, Y, t(X,Y));
rotate3d on;
I got the result but it is not the same as i drawn in Geogebra
I think there is a problem with .*exp(x-y)
4 Comments
Accepted Answer
Stephen23
on 3 May 2022
Edited: Stephen23
on 3 May 2022
"I think there is a problem with .*exp(x-y)"
I doubt that. Did you look at the domains and ranges that you are plotting?
Your Geogebra example shows that you plotted over x = -8..+8 and y = -8..+8. Then in MATLAB you plotted over x = -1..1 and y = -2..2. And then you did not limit the Z axes to the same range as your example plot. Lets try that now:
x = -8:0.5:8;
y = -8:0.5:8;
[X,Y] = meshgrid(x,y);
T = (X.^2-2*Y.^2).*exp(X-Y);
surf(X,Y,T);
zlim([-3,6])
0 Comments
More Answers (1)
Catalytic
on 2 May 2022
If I had to guess, you have x and y reversed.
[X, Y] = ndgrid(x, y);
surf(X, Y, t(X,Y));
See Also
Categories
Find more on Graphics Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!