TA的每日心情 | 开心 2019-11-20 15:05 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
for i = 30:y_len
2 P( b- a1 S J6 V% n2 b0 K- T* ~ for j=10:t_len
! o5 P* D7 E7 _: B, `[ii,jj]=meshgrid(j,i)* W K$ V- X" B4 e
array(i,j)=rhum(x_index,i,z_index,j);4 [' L& F# S* O. b! T. c- }
contour(i,j,z,[rhum(x_index,i,z_index,j)])% A6 s$ ]: C3 W N7 m
end
! _1 b8 |" |/ }0 b2 T" t; d0 hend# r& w2 b0 h& K- L
, F8 ]" j! o8 V2 T* {* P0 L这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。
4 v6 H0 a6 s6 s- |# j; y举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图0 U2 }+ n. n" t [# G/ ], ~3 a
draw_x = 1:1/4:7; W" m3 G0 x9 j# e: y
draw_y = 2:1/3:6;
u5 b. B* a/ x5 ^f = @(x,y) x.^(exp( -y.^2/50 ));; R7 F1 a7 R9 u4 [7 y; T) H% Y
for ii = 1:1:numel(draw_x)( [% l% X. w$ }$ R
for jj = 1:1:numel(draw_y); `" q; Z3 f9 ~! t' e
Z(jj,ii) = f(draw_x(ii),draw_y(jj));
6 v) ^! ~5 O+ y7 r w end
6 N h1 F: m9 x" k/ J# q$ Cend4 n' w4 v4 ^' x
[draw_x,draw_y] = meshgrid(draw_x,draw_y);
* a( ]! b$ j3 Y, `& \contour (draw_x,draw_y,Z); |
|