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,

 采纳的回答

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

8 个评论

why not plot3 instead of surf?
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.
Thanks Walter
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.
atan2(0,0) also returns the desired 0, whereas atand(0./0) is going to return nan.
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)
thank you Walter and Matt for sharing your knowledge :)

请先登录,再进行评论。

更多回答(2 个)

[x,y] = meshgrid(0:0.5:40);
gam = atand(y./x);
surf(x,y,gam,'linestyle','none')

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by