Plotting a function...

I have the following function that I would like to plot.
Gamma = atand((Y)/(X));
Whats the best way to preform this task. Y and X will vary from 0 to 40.
Thanks,

 採用された回答

Walter Roberson
Walter Roberson 2011 年 2 月 20 日

0 投票

[X,Y] = meshgrid(0:.1:40, 0:.1,40);
surf(X, Y, atand(Y ./ X));

8 件のコメント

Matt Tearle
Matt Tearle 2011 年 2 月 20 日
Snap!
Paulo Silva
Paulo Silva 2011 年 2 月 20 日
why not plot3 instead of surf?
Walter Roberson
Walter Roberson 2011 年 2 月 20 日
Not plot3 because X and Y are both varying from 0 to 40, which makes this a question in which there is a Gamma defined over an area. plot3 is not suitable for drawing such things. In some cases something like a waterfall plot would be appropriate, but in such cases there are often specific graph calls.
Paulo Silva
Paulo Silva 2011 年 2 月 20 日
Thanks Walter
Walter Roberson
Walter Roberson 2011 年 2 月 20 日
By the way: in general, when you are working with arctan, it is better to use atan2(Y,X) rather than atan(Y./X), as atan2 gets the sector right. Unfortunately there is no atan2d (degrees), so I would recommend atan2 followed by a conversion to degrees.
Walter Roberson
Walter Roberson 2011 年 2 月 20 日
atan2(0,0) also returns the desired 0, whereas atand(0./0) is going to return nan.
Matt Tearle
Matt Tearle 2011 年 2 月 20 日
plot3 is for a curve in space - for each x there's one corresponding y and z, as opposed to a surface where there's a whole range of y values for each x (and vice versa)
Paulo Silva
Paulo Silva 2011 年 2 月 20 日
thank you Walter and Matt for sharing your knowledge :)

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

その他の回答 (2 件)

Matt Tearle
Matt Tearle 2011 年 2 月 20 日

0 投票

[x,y] = meshgrid(0:0.5:40);
gam = atand(y./x);
surf(x,y,gam,'linestyle','none')
Mark
Mark 2011 年 2 月 20 日

0 投票

Thanks for the help

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

製品

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by