Plotting a 3-D Function with Interpolated Shading
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I am having issues with the meshgrid ( http://www.mathworks.com/help/matlab/ref/meshgrid.html ) function. I need X and Y to be a 21x25 matrix but this function is only generating a 21x26 matrix when I use the following command:
[X,Y] = meshgrid(0:.04:1, 0:.024:0.5);
Z = cos(2*pi*(3.*X - 4.*Y))
surf(X,Y,Z)
X and Y are bounded by the following:
0<= X <= 1 (Need 25 data points)
&
0<= Y <= 0.5 (Need 21 data points)
I figure that 1 / 25 should give me 25 total data points for the X bounary and 0.5 / 21 should give me 21 total data points for the Y boundary.
However, meshgrid is giving me a 21x26 matrix. Is the parameter argument incorrect for the function?
0 Kommentare
Akzeptierte Antwort
Evan
am 18 Jul. 2013
Bearbeitet: Evan
am 18 Jul. 2013
[X,Y] = meshgrid(linspace(0,1,25), 0:.024:0.5);
Z = cos(2*pi*(3.*X - 4.*Y))
surf(X,Y,Z)
The linspace command will gave you the same result as 0:1/24:1, as I believe increments of 1/24 would give you the number of data points you desire.
It's a bit easier to use linspace instead of the colon operator when your main concern is the length of the array you're creating, not the spacing.
4 Kommentare
Evan
am 18 Jul. 2013
I make that same mistake quite often. And no problem! Glad you have it working.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!