TA的每日心情 | 开心 2019-11-20 15:05 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
for i = 30:y_len
2 |/ G$ [$ G3 j4 x) j$ ~ G for j=10:t_len3 S+ s W* _0 ?
[ii,jj]=meshgrid(j,i)
# @ U7 D' _) B; earray(i,j)=rhum(x_index,i,z_index,j);
* v, F2 n/ W+ c' H( ^% K+ Bcontour(i,j,z,[rhum(x_index,i,z_index,j)])
( \. m& E i5 v end
. R9 a* S' Q/ O' ~end( {; B. {( Z! k5 t9 s! ]
! z. m3 P. e) f, C- y' N5 h! k这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。- i; X2 }& V! `. ~; o8 x0 Z: B6 H; g
举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图
2 d9 @7 p. e! Pdraw_x = 1:1/4:7;( A1 X0 ?+ `+ F; s0 [/ e. }
draw_y = 2:1/3:6;* u& l; O: d4 O9 S& g6 Y
f = @(x,y) x.^(exp( -y.^2/50 )); q1 j$ Y `7 Z2 A, ^+ W1 i5 p
for ii = 1:1:numel(draw_x)
, b! T) c3 `6 Y( j for jj = 1:1:numel(draw_y)9 ^% \4 C% J2 p" c) B% l4 I
Z(jj,ii) = f(draw_x(ii),draw_y(jj));/ k- E! t# @: R
end! i( ]% O5 q/ o' a: L+ z$ I) ^
end; W. d/ K; g. q( J$ U8 ~6 H) p
[draw_x,draw_y] = meshgrid(draw_x,draw_y);4 ~: Z1 q; [3 G) W
contour (draw_x,draw_y,Z); |
|