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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
3 j" X* y: Q1 x' {$ b- D

# n0 A* Y. L( S% v8 Oclear$ q8 G+ y  ~7 M) |
ncinfo('rhum.mon.mean.nc');
. y9 W: Y( I6 ?7 X$ Yy_len=60;
" h$ `* y. O; Qt_len=854;
2 r3 s3 f+ ~1 W5 }z_index=7
3 D" }1 p  r) o; s; f" f: Mx_index=120
5 Q- U; m1 m7 O9 T  g) j% Y% Kx = ncread('rhum.mon.mean.nc','lon');%x
: }8 ?8 f* F/ Y8 P2 ]z = ncread('rhum.mon.mean.nc', 'level');%z4 N7 I( i6 L( X" r2 w
y = ncread('rhum.mon.mean.nc', 'lat');%y  q4 U4 |9 K4 |+ a# o
t = ncread('rhum.mon.mean.nc', 'time');%t& o0 G  ^% g7 S7 _* |2 ^/ x5 E
rhum = ncread('rhum.mon.mean.nc', 'rhum');
/ B" w6 C& {( x8 afigure; hold on;$ ~% x5 Q; u1 n+ }) n% \; z
for i = 30:y_len5 M& D& J9 b4 T4 H4 G
  for j=10:t_len
7 ?9 e( O" \7 Z. M. b[ii,jj]=meshgrid(j,i)
* ?. L7 Q$ E- k, jarray(i,j)=rhum(x_index,i,z_index,j);6 ]( C! A5 L1 n1 B- r
contour(i,j,z,[rhum(x_index,i,z_index,j)])$ E% `. v5 J7 t+ x2 y' \5 ?
  end
+ P) a2 @0 S3 O9 I2 g' Qend, s& l9 y' ~" t/ |- H

5 }$ V. e6 w8 a错误使用 contour (line 84)3 d& w7 Z+ D& _0 j3 V
Z 的大小必须为 2x2 或更大。! T* R  w+ q- O, D5 J+ M3 H  D/ B

5 f& O% d5 R8 F& }8 N% C! F1 j
' D7 k6 S+ h7 X6 h5 v% n$ P' r这个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_len7 r0 ^, Z4 P6 y* i8 \3 B; n4 t
      for j=10:t_len# E/ Q" ?( Q, y' F: `
    [ii,jj]=meshgrid(j,i)
    6 F# q2 I) N" Xarray(i,j)=rhum(x_index,i,z_index,j);1 e: v, w7 I$ J5 }, F8 |5 I) ]
    contour(i,j,z,[rhum(x_index,i,z_index,j)])* R( ~/ w% ~+ ]# C; y
      end
    % d+ h& Z# J5 m7 c$ rend" x% `+ M9 b# i0 `8 N6 @7 d6 C, z" i8 A
    : q" ]' u8 c  n7 h1 C( s* E
    这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。8 {- P0 }: ^$ A" N
    举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图2 V. Z. K. y# p# M  [
    draw_x = 1:1/4:7;# B7 P- Y, o; w1 a5 M# d5 m7 T6 p
    draw_y = 2:1/3:6;
    + z  R4 }1 W( kf = @(x,y) x.^(exp( -y.^2/50 ));
    ! q- G+ U' ~! |$ U; }6 vfor ii = 1:1:numel(draw_x)' c8 O! w. h6 P/ z5 {+ x  q
        for jj = 1:1:numel(draw_y)
    : {$ v' d5 M8 r' [' S5 y  i        Z(jj,ii) = f(draw_x(ii),draw_y(jj));2 a/ G; K; b0 M" z0 z0 t
        end2 |. T8 j7 ]% P# K7 |- U- V' I; Q
    end# D" L/ ?( K& C' q8 x3 S( N
    [draw_x,draw_y] = meshgrid(draw_x,draw_y);
    - J0 ~  M2 Y5 ]contour (draw_x,draw_y,Z);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-24 00:49 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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