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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

8 s" ?; H0 [, O( A, u
$ }5 T: I# B# ^' i  E: p# ?1 E4 Lclear
" j3 o* s3 C9 c+ vncinfo('rhum.mon.mean.nc');
+ M2 _# z8 i9 B0 i0 n! X+ ey_len=60;! }; ?% [- l+ p& u
t_len=854;
* K# H1 [; W0 Qz_index=70 Q  k* c  W8 c( Y
x_index=120
# _7 ~# n4 H/ u- [8 T2 zx = ncread('rhum.mon.mean.nc','lon');%x
+ v0 J$ P% V6 W7 L, @+ Vz = ncread('rhum.mon.mean.nc', 'level');%z
4 p" q. \" L5 K& M3 t* t7 X( My = ncread('rhum.mon.mean.nc', 'lat');%y
- P, }) l6 N8 At = ncread('rhum.mon.mean.nc', 'time');%t
9 r4 @3 _  l+ Q& g& h3 u- ~rhum = ncread('rhum.mon.mean.nc', 'rhum');
! {4 y0 ]/ N5 H/ F. G/ p* T  ]figure; hold on;4 V) L1 a# v" ~
for i = 30:y_len
7 F7 _5 c' P& p3 C  for j=10:t_len2 k5 p, y4 g9 B$ B5 i
[ii,jj]=meshgrid(j,i)
5 N, _  J! T' A" Z9 yarray(i,j)=rhum(x_index,i,z_index,j);* i. R/ m& V8 C) F5 E/ y
contour(i,j,z,[rhum(x_index,i,z_index,j)])
: M4 X9 s: w# n+ I  end+ _" [. S# B+ v/ A
end
1 y2 p% s+ V" G6 n- Y$ F* k% q- b
错误使用 contour (line 84)9 r  O) U) m+ ^% R: m. i
Z 的大小必须为 2x2 或更大。
5 j* `7 S% g5 |6 j6 O0 |9 c9 P0 H5 u1 v1 J

/ Y- U1 v# N6 F$ B0 h3 Z9 z. Q$ y( B这个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
    4 w9 n3 ]1 Y9 q: ~4 j. j  for j=10:t_len
    ) @- C( j* R  A( c[ii,jj]=meshgrid(j,i)
    * f# P/ k' A0 G, \- |9 Earray(i,j)=rhum(x_index,i,z_index,j);
    ; O# Q; l/ E0 \5 c" X9 y. I* P2 Scontour(i,j,z,[rhum(x_index,i,z_index,j)])
    ' D) J3 L5 M# z$ o  end' q$ @# E5 J# A1 g
    end% @/ h  w7 \- [; x) R' j

    ; O- U' a; f$ {4 [这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。  o: ]8 U3 O6 y. |/ _
    举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图
    9 _( ]' L. ]3 U* v+ l5 vdraw_x = 1:1/4:7;5 k8 T4 R2 z* H! S% e
    draw_y = 2:1/3:6;2 g6 r! y, u5 {: T; r+ s; y
    f = @(x,y) x.^(exp( -y.^2/50 ));8 e( a1 b" f1 L. B4 j+ z2 X6 v
    for ii = 1:1:numel(draw_x)# R0 N9 t( p9 y/ T3 P1 B
        for jj = 1:1:numel(draw_y)
    + \1 B2 E# j$ F4 H# G. B        Z(jj,ii) = f(draw_x(ii),draw_y(jj));
    & Q& {0 F# |6 A* P    end
    9 T" I8 V% r' C& T9 Wend
    + |7 i. x, s, w[draw_x,draw_y] = meshgrid(draw_x,draw_y);  {2 c3 _2 S% t8 @9 c! J
    contour (draw_x,draw_y,Z);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 18:20 , Processed in 0.187500 second(s), 24 queries , Gzip On.

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

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

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