Filter löschen
Filter löschen

Generating Geographical matrix using Loop

2 Ansichten (letzte 30 Tage)
Oday Shahadh
Oday Shahadh am 6 Feb. 2017
Kommentiert: KSSV am 6 Feb. 2017
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 Kommentar
Oday Shahadh
Oday Shahadh am 6 Feb. 2017
Bearbeitet: KSSV am 6 Feb. 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 6 Feb. 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 Kommentare
Oday Shahadh
Oday Shahadh am 6 Feb. 2017
why I got the size :
size([Long,Lat])
ans =
180 576
KSSV
KSSV am 6 Feb. 2017
[Long,Lat] this joins Long, Lat matrices of each size 180x288 to size 180x576.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by