EDA365电子论坛网
标题:
Matlab绘制同潮时线和等振幅线
[打印本页]
作者:
uperrua
时间:
2020-3-20 09:41
标题:
Matlab绘制同潮时线和等振幅线
" z5 t+ ]# v3 S: M* e: b l' z
最近做海洋要素大作业模拟二维潮波需要绘制同潮时线和等振幅线,提供程序如下,仅供参考
% I! d, b" T- w( j! t2 r; x
4 A/ t o1 g0 E6 M# w9 a
clear;
* ?6 O" F; o) ~! H+ `
/ x A; p2 D2 z: N* V& T7 {
aa=load('rho_m2.dat'); %振幅数据
9 S6 U. q0 a% c0 J! C
8 i# u3 c1 j& j+ W! ^9 v
cc=load('thet_m2.dat'); %迟角数据
- N# z) f+ c$ q! d1 Q$ E
# ^! \' ^# ~/ }- ?- j v
bb=flipud(aa);
! s% r. i" n( x0 L0 h7 V
; u3 b( P/ O6 H5 ~ R+ a" O
cc=flipud(cc);
; A; d3 ?3 C, ]2 @1 N3 W6 j
4 ^. L N# y0 [2 s
bb(find(bb<0.01))=NaN;%陆地设为NaN
" }, {3 U) C- N$ g2 `. {6 C
0 Q l1 R+ A$ X, F( F
cc(find(cc<0.01))=NaN;
3 n) }- A7 O. p* v0 z, _
' T, R2 k1 ?! d
m_proj('miller','lon',[117.50 126.83],'lat',[34 41]);
1 b% u- b- G! `
. [* q7 W) x W1 V6 E4 e- B( S$ [
lon1=linspace(117.50,126.83,56);
/ m) Z% R- w% }, s; z
. u' V0 l! I' {! N
lat1=linspace(34,41,43);
8 s3 H0 y+ I* Q7 m0 D7 G: `) ~
p0 H" |6 A& `6 O2 E) \7 o
[lon1,lat1]=meshgrid(lon1,lat1);
+ \1 D9 y% p+ }4 L, P7 A* `. I
7 b4 S8 K# W1 m1 c a! c3 _8 q
[c,h]=m_contour(lon1,lat1,bb,15);
! u$ ^- }/ q% }1 i9 P+ ]
& i3 J; a: v5 J" y6 C4 h6 C
m_coast('patch',[0 0 0])
5 d c+ P! [- d+ c
. M2 I8 ?/ {$ H' _2 j
hold on
# C% X$ r+ M3 i! l+ H: B, R
* G! l' N% H! X: O
dd=cc;
5 L# [. j/ S5 Y3 G! i5 a5 N7 \+ |
i+ p3 c5 U7 H3 i: c( Z% q
dd(find(dd>340|dd<20))=NaN;
" O+ @4 P4 q# k, v( V
2 l" ^* A' P$ X7 c
[c,h]=m_contour(lon1,lat1,dd,[30:30:330]);
, ?8 Q# }) s6 `1 \8 a( |" a
+ r ?. N6 N! C( c
clabel(c,h,'FontSize',10, 'Color','r','Rotation',0);
; H3 r! `9 M8 a3 Z) a
" K6 W$ \- V" A6 u' F
hold on
* {. e4 K+ S& w: m Z
* J0 O _) a3 ^; ]4 {, W( N
a2=find(cc>340&cc<360);
6 q. e! I2 t) m% m5 Q! y8 f
8 _ T* w3 G1 t; w Q3 F5 Y
cc(a2)=cc(a2)-360;
6 @6 g( L* B5 \7 h
( [# y }5 a8 }- d9 j
[c,h]=m_contour(lon1,lat1,cc,[0 0]);
2 ~7 }. Z. h$ W# `
3 n2 d5 W3 K% y Z9 b; a1 q
clabel(c,h,'FontSize',10, 'Color','r','Rotation',0);
# R J) q. w; k+ e8 [8 E0 R: a* B
: u6 b6 |5 v- L
m_gshhs_h('save','topodata');
5 T# `# C- ~; e0 t5 `
' ^* Y8 r* J9 w' Y6 X" b# e
m_usercoast('topodata','patch',[0 0 0],'linewidth',1.2);
' H9 g; \/ |4 \) w! ~/ m
+ S6 u. n: \$ ~- C/ Z: p
m_grid('box','fancy')
7 L( t! n0 P+ \* A8 [
+ l1 B/ e1 E) }" h, L2 T8 C
xlabel('Longitude')
% B L& @7 i2 S7 [. \% w
6 H P5 ~! {" e# ^
ylabel('Latitude')
2 ]3 _9 c! D2 g, m
& F3 M/ A! M Y: ?" W. |) R) Q
title('等振幅线与同潮时线')
" ]( g6 }" |! J; j. x% X. e2 L
# S( ?6 k1 u7 V% Q8 s$ b+ e
matlab绘制同潮时线和等振幅线
: K. H, d2 U5 U- v$ M7 U* \
, _" S8 Y2 u6 D' U' A- T
20-0.png
(33.99 KB, 下载次数: 7)
下载附件
保存到相册
2020-3-20 09:40 上传
% ~% F/ t# r8 V8 u4 @9 W, T
" h0 c. R' R# ^; G
从图中我们可以看到渤黄海的4个无潮点。
作者:
CCxiaom
时间:
2020-3-20 18:11
Matlab绘制同潮时线和等振幅线
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2