Generating Geographical matrix using Loop

1 次查看(过去 30 天)
I am trying to generate a 2D matrix for the geographical Longitude and Latitude, for the ranges below:
Φ = [0,Δφ,2Δφ, ..., 179Δφ] Θ = [0,Δθ,2Δθ, ..., 287Δθ] . I tried this
long=linspace(0,360,288); lat=linspace(0,180,180); res=zeros(288,180); for i=0:1.25:length(long) for lat=0:1:length(long) res(long,lat)=[long lat]; end end but I got this error
Subscript indices must either be real positive integers or logicals.
Error in odayalbedo (line 12) res(long,lat)=[long lat];
Any suggestions??? Thanks in advance
  1 个评论
Oday Shahadh
Oday Shahadh 2017-2-6
编辑:KSSV 2017-2-6
Sorry I made a mistake when copying the code
long=linspace(0,360,288);
lat=linspace(0,180,180);
res=zeros(288,180);
for i=1:1.25:length(long)
for j=1:1:length(long)
res(i,j)=[long(i) lat(j)];
end
end
and I got this error
Subscripted assignment dimension mismatch.
Error in odayalbedo (line 12) res(i,j)=[long(i) lat(j)];
Thanks

请先登录,再进行评论。

采纳的回答

KSSV
KSSV 2017-2-6
Are you looking for this?
M = 288 ; N = 180 ;
long=linspace(0,360,M);
lat=linspace(0,180,N);
[Long,Lat] = meshgrid(long,lat) ;
You cannot save [long(i) lat(j)] into res(i,j). res(i,j) needs a single number and [long(i) lat(j)] are two numbers. Else there should be some other relation between long and lat.
  2 个评论
KSSV
KSSV 2017-2-6
[Long,Lat] this joins Long, Lat matrices of each size 180x288 to size 180x576.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by