找回密码
 注册
关于网站域名变更的通知
查看: 614|回复: 1
打印 上一主题 下一主题

麻烦大神指点一下如何定义这个rhum, 成为一个合适的矩阵z?非常感谢!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-4 13:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
% l! W6 Y% g1 F( a: `
! U0 N& `/ P4 R/ D* I" K2 M( o
clear
. H7 a/ }, c! Y" Zncinfo('rhum.mon.mean.nc');/ v9 D# X+ W+ k
y_len=60;- r' M- r! X, S  d2 ]
t_len=854;' X8 x0 ~# z: i0 S
z_index=7
3 q! w& Y0 `3 @x_index=120
9 Q! \. k# P0 Wx = ncread('rhum.mon.mean.nc','lon');%x
/ S4 j" I. m9 Qz = ncread('rhum.mon.mean.nc', 'level');%z/ A+ x1 [/ O5 Q! E" T5 C
y = ncread('rhum.mon.mean.nc', 'lat');%y5 \7 b' h( |8 e$ v7 n7 {- R
t = ncread('rhum.mon.mean.nc', 'time');%t
2 N$ S/ i) _' v+ j7 yrhum = ncread('rhum.mon.mean.nc', 'rhum');
( \# k: _8 l! i6 h# tfigure; hold on;
) }) u! _% M5 w, p" Y( Nfor i = 30:y_len2 a# {- d- |5 i. X7 v+ [
  for j=10:t_len; F- a  M1 m6 v6 S" Y: m0 x: t" p2 [) o
[ii,jj]=meshgrid(j,i)
: b( v, X& ~2 Q9 v9 e. p  {5 darray(i,j)=rhum(x_index,i,z_index,j);. i0 ?* a0 ]& G2 y3 A- c6 D
contour(i,j,z,[rhum(x_index,i,z_index,j)])) {- M# ^- ], ]$ z  b
  end3 @5 x8 g) K2 {8 b8 ^1 F
end
3 b  T# S% C: x
) X$ F: i; X0 J- I% z0 h& r错误使用 contour (line 84)& i) f% d& ^  [$ s7 t
Z 的大小必须为 2x2 或更大。2 P# W" g4 o" E% w1 t

( I+ y5 k  u2 ?
9 l/ Z1 ?4 n% {这个contour函数里 i,j很好定义,主要这是这个rhum,也就是contour里的矩阵z,rhum现在是固定两维,两个自变量。麻烦大神指点一下如何定义这个rhum, 成为一个合适的矩阵z?非常感谢!
  • TA的每日心情
    开心
    2019-11-20 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2020-6-4 14:33 | 只看该作者
    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);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 04:16 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表