Plotting a 3-D Function with Interpolated Shading
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Evan
2013 年 7 月 18 日
編集済み: Evan
2013 年 7 月 18 日
[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 件のコメント
Evan
2013 年 7 月 18 日
I make that same mistake quite often. And no problem! Glad you have it working.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!