surf, plotting, axis
4 ビュー (過去 30 日間)
古いコメントを表示
Hi
Simple question....
I have an output 'P' which is a 10X10 matrix. I start with
for i=1:10
for j=1:10
P(i,j) = %some operation that gives the answer at each i,j
end
end
I use 'surfl' to plot P.
Now I have
for i=1:0.5:10
for j=1:0.5:10
P(i,j) = %some operation that gives the answer at each i,j
end
end
Then, P will still be a 20X20 matrix, but its now plotting on surf, because I think it takes only integers.
So, I used
c1=1;
for i=1:0.5:10
c2=1;
for j=1:0.5:10
P(c1,c2) = %some operation that gives the answer at each i,j
c2=c2+1;
end
c1=c1+1;
end
surf(P)
This gives me a figure for a 20X20 matrix I want, but its mentioned as 1:20 and 1:20 on x & y-axes, while I want it to depict 1:10 and 1:10....
Please advice what I need to change to get that!!!
2 件のコメント
Walter Roberson
2012 年 2 月 2 日
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup
採用された回答
Walter Roberson
2012 年 2 月 2 日
xv = 1 : 0.5 : 10;
yv = 1 : 0.5 : 10;
for i = 1 : length(xv)
for j = 1 : length(yv)
P(i,j) = %some operation that gives the answer at each xv(i), yv(j)
end
end
surf(xv, yv, P)
7 件のコメント
Walter Roberson
2012 年 2 月 3 日
If you are going to insist on using for i=1:0.5:10 then just use your code from your first comment, above, where you use the c1 and c2 counters. It isn't ideal code, but you are stuck on the idea that i and j must be the values instead of being allowed to index the values, so you might as well stick with what you understand.
-----
Perhaps this would make things more clear:
xv = 1 : 0.5 : 10;
yv = 1 : 0.5 : 10;
for xidx = 1 : length(xv)
i = xv(xidx);
for yidx = 1 : length(yv)
j = yv(yidx);
P(xidx,yidx) = %some operation that gives the answer at each i, j
end
end
surf(xv, yv, P)
Then you can have clear indexes _and_ you can still use "i" and "j" as the names of your variables that hold the current values.
-----
In your code, you might want to clarify what i11 and j11 are. Your d_r appears to be calculating the same value for all i and j combinations; if so then it would be more efficient to calculate it once outside the loop.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!