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 件のコメント

Alberto Cuadra Lara
Alberto Cuadra Lara 2022 年 5 月 2 日
Hello Dinh,
The function looks good. Are you using the same limits in Geogebra?
Dinh Le Dung
Dinh Le Dung 2022 年 5 月 3 日
This is what Matlab gives
This is what Geogebra gives.
They look pretty much not the same :((
Walter Roberson
Walter Roberson 2022 年 5 月 3 日
Very different plotting ranges.
Dinh Le Dung
Dinh Le Dung 2022 年 5 月 3 日
I see, thanks for your help sir!

サインインしてコメントする。

 採用された回答

Stephen23
Stephen23 2022 年 5 月 3 日
編集済み: Stephen23 2022 年 5 月 3 日

1 投票

"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])

その他の回答 (1 件)

Catalytic
Catalytic 2022 年 5 月 2 日

1 投票

If I had to guess, you have x and y reversed.
[X, Y] = ndgrid(x, y);
surf(X, Y, t(X,Y));

1 件のコメント

Dinh Le Dung
Dinh Le Dung 2022 年 5 月 3 日
i dont think so :((, but thanks for your help!

サインインしてコメントする。

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by