18 views (last 30 days)

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!!!

Walter Roberson
on 2 Feb 2012

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)

Walter Roberson
on 3 Feb 2012

Walter Roberson
on 3 Feb 2012

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.

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/27785-surf-plotting-axis#comment_60798

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/27785-surf-plotting-axis#comment_60798

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/27785-surf-plotting-axis#comment_60990

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/27785-surf-plotting-axis#comment_60990

Sign in to comment.