Assignment error in double loops

I tried this
long=linspace(0,360,288);
lat=linspace(0,180,180);
res=zeros(length(lat),long(lat));
for i=1:length(long)
for j=1:180
res=[long(i) lat(j)];
end
end
and got this error
Subscript indices must either be real positive integers or logicals.
| Error in odayalbedo (line 9) res=zeros(length(lat),long(lat));|

 Accepted Answer

Change
res=zeros(length(lat),long(lat));
to
res=zeros(length(lat),length(lat));

5 Comments

Thanks but it does not save the loop in preallocation matrix, Do I have to use: res(i,j)=[long(i) lat(j)]; instead?
I must get 180X288 matrix pls help
What is the relation between long and lat to get required matrix?
I just need to arrange:
long=linspace(0,360,288); lat=linspace(0,180,180);
in a 180X288 matrix to
[X,Y] = meshgrid(long,lat)

Sign in to comment.

More Answers (0)

Categories

Asked:

on 6 Feb 2017

Commented:

on 6 Feb 2017

Community Treasure Hunt

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

Start Hunting!