arrenging rows and columns ?

3 visualizaciones (últimos 30 días)
pruth
pruth el 23 de Nov. de 2017
Comentada: Jan el 23 de Nov. de 2017
suppose i have latitude
-90
-60
-30
00
30
60
90
and longitude
-160 -120 -80 -40 00 40 80 120 160
i want output as
-90 -160
-60 -160
-30 -160
00 -160
30 -160
60 -160
90 -160
-90 -120
-60 -120
-30 -120
00 -120
30 -120
60 -120
90 -120
.
.
.
like that for all points. Any idea how could i do that ?

Respuesta aceptada

Jan
Jan el 23 de Nov. de 2017
Editada: Jan el 23 de Nov. de 2017
lat = [-90 -60 -30 00 30 60 90]';
long = [ -160 -120 -80 -40 00 40 80 120 160 ];
nLat = length(lat);
nLong = length(long);
both = [repmat(lat, nLong, 1), repelem(long(:), nLat, 1)];
Alternatively for old Matlab versions, which do not have repelem:
tmp = repmat(long, nLat, 1);
both = [repmat(lat, nLong, 1), tmp(:)];

Más respuestas (2)

Andrei Bobrov
Andrei Bobrov el 23 de Nov. de 2017
lat = [-90 -60 -30 00 30 60 90]';
long = [ -160 -120 -80 -40 00 40 80 120 160 ];
[x,y] = ndgrid(lat,long);
out = [x(:),y(:)];

Birdman
Birdman el 23 de Nov. de 2017
Editada: Birdman el 23 de Nov. de 2017
a=[-90 -60 -30 00 30 60 90];
b=[-160 -120 -80 -40 00 40 80 120 160];
a=a(:);b=b(:);
aa=repmat(a,length(b),1);
bb=repmat(b,length(a),1);
c=[aa bb]
  3 comentarios
Birdman
Birdman el 23 de Nov. de 2017
this one works.
Jan
Jan el 23 de Nov. de 2017
@cvklpstunc: It works, but does not give the correct result: The 2nd column contains [-160; -120; -80; ...; 120; 160; -160; -120; ...] instead of the wanted [-160; -160; -160; ...]. It works, if you omit "b=b(:)" and reshape it after the repmat:
a = a(:);
aa = repmat(a,length(b),1);
bb = repmat(b,length(a),1);
c = [aa, bb(:)]

Iniciar sesión para comentar.

Categorías

Más información sobre Interpolation of 2-D Selections in 3-D Grids en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by