Generating Geographical matrix using Loop

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 commentaire

Oday Shahadh
Oday Shahadh le 6 Fév 2017
Modifié(e) : KSSV le 6 Fév 2017
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

Connectez-vous pour commenter.

 Réponse acceptée

KSSV
KSSV le 6 Fév 2017
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 commentaires

why I got the size :
size([Long,Lat])
ans =
180 576
KSSV
KSSV le 6 Fév 2017
[Long,Lat] this joins Long, Lat matrices of each size 180x288 to size 180x576.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Functions dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by