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,

 Risposta accettata

Walter Roberson
Walter Roberson il 20 Feb 2011

0 voti

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

8 Commenti

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

Accedi per commentare.

Più risposte (2)

Matt Tearle
Matt Tearle il 20 Feb 2011

0 voti

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

Categorie

Scopri di più su Mathematics in Centro assistenza e File Exchange

Prodotti

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by