Problem with ploting exp function

3 ビュー (過去 30 日間)
Dinh Le Dung
Dinh Le Dung 2022 年 5 月 2 日
コメント済み: Dinh Le Dung 2022 年 5 月 3 日
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 件のコメント
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 日
"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 日
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!

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

カテゴリ

Help Center および File ExchangeGraphics Performance についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by