Matlab - Graficar latitud, longitud y valor dado en contour y surf

   
Vista:

Graficar latitud, longitud y valor dado en contour y surf

Publicado por Ricardo pollofx@hotmail.com (1 intervención) el 13/07/2016 07:02:14
Hola, tengo 3 datos; longitud, latitud y atenuacion y quiero graficarlos en el plot contour y si es posible surf, para que me de una grafica parecida a lo que sería la temperatura en un oceano por ejemplo figura1, el problema es que no se como hacer que la variable de atenuacion (z) se convierta en una matriz de 85x1 a 85x85 ya que he aplicado:
[X,Y]=meshgrid(x,y)
y me da como resultado la matriz X (85x85) y Y(85x85)
que según leí es necesario para poder hacer el grafico en contour o surf dado que Z debe de ser mayor a 2x2.

La verdad apenas comienzo en esto de matlab, asi que espero me den una ayudadita, les paso los valores de las 3 variables, agradezco cualquier ayuda :)

x(latitud)=[32.637102
32.6600015
32.562992
32.557204
32.672589
32.506672
32.005636
31.68456
31.277661
29.17843
28.670004
28.465938
28.241508
27.921505
27.478919
27.097179
27.036621
25.814838
25.786506
25.774451
25.684449
25.428281
24.83645
24.737363
24.054846
23.737285
23.731988
23.278864
23.226124
23.124296
22.812048
22.696058
22.235172
22.199777
22.142651
21.939746
21.504327
21.349169
21.147224
21.112118
20.965237
20.814839
20.678248
20.664344
20.63659
20.605815
20.569585
20.525419
20.522021
20.401912
20.089544
20.062457
19.989185
19.832199
19.607249
19.603019
19.539177
19.501594
19.45887
19.423324
19.417193
19.399599
19.306654
19.264688
19.244086
19.178612
19.109189
19.07806
18.921273
18.8954
18.885928
18.811332
18.655678
18.497919
18.464298
18.312808
18.129005
18.083266
17.989266
17.548771
17.049805
16.887995
16.752995
16.738306
14.905016];

y(longitud)=[-115.434167
-115.5558227
-115.486512
-115.367722
-115.367035
-117.025109
-116.58265
-106.413966
-110.926891
-110.814828
-105.986506
-106.893258
-105.442454
-110.899972
-109.927682
-109.426499
-105.640806
-108.98304
-100.189525
-100.315373
-100.305568
-100.991786
-107.37072
-110.30322
-104.616459
-99.137184
-99.137184
-106.384627
-102.831906
-109.709326
-102.667426
-102.527134
-97.858415
-100.940387
-100.989298
-102.203012
-104.880652
-101.930649
-86.84135
-101.661624
-89.596172
-102.76561
-101.337502
-103.340363
-87.069317
-100.369973
-101.231073
-97.46134
-100.809242
-100.011987
-98.363556
-98.822235
-102.264855
-90.532154
-101.234886
-99.053342
-96.90501
-98.8858
-99.253842
-99.132061
-98.129733
-102.053368
-99.634344
-98.893353
-103.69857
-96.130987
-104.333031
-98.186986
-99.265515
-99.17397
-96.919523
-98.953041
-91.806616
-88.29184
-97.393612
-99.497988
-94.447487
-96.117631
-92.937131
-99.947988
-96.710779
-99.793084
-93.09394
-92.635443
-92.257056];

z (atenuacion)=[67
67
67
67
67
23
76
56
34
32
21
53
69
50
79
82
30
40
48
52
12
26
39
30
32
47
23
40
89
45
32
23
50
21
34
65
57
34
76
45
65
23
67
12
34
76
89
90
32
34
34
43
67
89
45
32
23
23
89
67
23
54
34
45
20
56
76
45
76
54
53
65
32
32
56
23
12
34
34
56
86
87
32
34
45];
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Daniel

Graficar latitud, longitud y valor dado en contour y surf

Publicado por Daniel (212 intervenciones) el 14/07/2016 21:22:06
Prueba esto, puedes activar ambos plot (el surf y el contourf) o uno de ellos


1
2
3
4
5
[mx,my]=meshgrid(linspace(min(x),max(x),200),linspace(min(y),max(y),200));
 
mz=griddata(x,y,z,mx,my);
surf(mx,my,mz),shading interp,hold on
contourf(mx,my,mz)

Comentanos como te fue

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar