EDA365电子论坛网
标题:
想请问一下这个怎么改 ?
[打印本页]
作者:
panphp
时间:
2020-6-5 11:37
标题:
想请问一下这个怎么改 ?
P: H# W1 |# p" {4 w4 v' I( ^ l
k7 }0 @4 f4 g1 S% t
clear;
" u* m; l% u) N( @4 K% U" Z
x_len=144;
2 s6 w1 _$ k' f
y_len=60;
0 s2 L1 a, @8 t4 w1 Q: ?/ P
z_len=17;
% a& M. `- [% }- V3 D( w6 B
t_len=854;
5 R0 _/ a& e0 f$ c3 Y
z_index=7;
9 ]% F. Q! m$ z% {1 A
x_index=120;
- w0 j* c" z. K9 W2 D/ B
. Z3 ~) `6 {( G& f6 }9 d6 A5 e
z = ncread('rhum.mon.mean.nc', 'level');%z
$ E9 _/ X) u2 i- ~# _- x6 j
y = ncread('rhum.mon.mean.nc', 'lat');%y
# \" T9 M& p% q5 m7 R: m% N
x = ncread('rhum.mon.mean.nc', 'lon');%x
* k- s L, m3 K# P0 X1 Y4 X8 p& J) z( y
t = ncread('rhum.mon.mean.nc', 'time');%t
" n' r/ r3 T0 V8 W( Y
rhum = ncread('rhum.mon.mean.nc', 'rhum');
5 C& L2 L4 C' u# K( u) T
1 F. @7 V- X& I% Z; |
array = zeros(x_len,y_len);
. w$ l. l- s* O1 i" O
for i = 30:y_len
- a% E \# d7 K- b% X3 @0 x1 n
for j = 1:t_len
3 S. [3 |9 v1 q( H& B& S
array(i,j)=rhum(x_index,i,z_index,j);
" u7 R6 [/ U1 L( d
end
. R ?; y2 E: g# `# w' y$ t
end
& ^, O1 q3 p% e. Y
mesh(t,y,array)
0 s3 U( f# I6 X; [; ] D
错误使用 mesh (line 79)
) G4 Q) @: x: V$ j1 h
数据维度必须一致。
8 Z d+ A, n: e# I
想请问一下这个怎么改 ?
作者:
House
时间:
2020-6-5 13:28
需要先用meshgrid根据横、纵坐标重新生成对应的矩阵
2 p9 o9 F. S' z
另外注意循环嵌套的顺序,是Z(jj,ii)而不是Z(ii,jj)
6 t. ^; w1 k; W. N& a; |1 D/ T0 l* e- _- g
draw_x = 1:1/4:7;
0 \6 P/ |0 _% K5 B
draw_y = 2:1/3:6;
" U( N! `/ P) ~2 I" u
f = @(x,y) x.^(exp( -y.^2/50 ));
3 `$ g8 W+ s9 Z: t
for ii = 1:1:numel(draw_x)
) L) D- Q) N% J6 z- s' h- U5 V
for jj = 1:1:numel(draw_y)
; J# P" u* J. c6 `
Z(jj,ii) = f(draw_x(ii),draw_y(jj));
5 P4 C6 n' Y) X l# X5 l& X2 ?1 O) S% ^
end
( T1 a/ |9 H; b6 M5 R% E8 L; Y- W7 z
end
% J g5 E Z# W$ z! v4 O
[draw_x,draw_y] = meshgrid(draw_x,draw_y);
0 z2 @, U4 `' T! j; c: y H* \
mesh(draw_x,draw_y,Z);
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2