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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

) R$ `3 K; z7 P1 s) `9 V4 A
; d+ p  ]; F4 b/ T9 ^, oclear
  u. f5 f' S' I/ w( G' I, wncinfo('rhum.mon.mean.nc');9 x- S# i1 w6 K& Z
y_len=60;
. S3 D# P( V6 Z% h( t7 ~t_len=854;
6 c# b6 G" Z& |7 [  l/ Yz_index=7+ h; V% F4 T7 j, A$ ~/ Y( Y, U7 J
x_index=120
$ s# f, y7 c9 _0 ^* [  t' Hx = ncread('rhum.mon.mean.nc','lon');%x/ l5 X# U' I6 |0 D+ v+ h
z = ncread('rhum.mon.mean.nc', 'level');%z4 c/ K$ j% X3 J+ x0 ?4 A( t
y = ncread('rhum.mon.mean.nc', 'lat');%y" A( x, Z7 m. N+ x
t = ncread('rhum.mon.mean.nc', 'time');%t
$ j# I* A% B0 O: t' @: Grhum = ncread('rhum.mon.mean.nc', 'rhum');# e$ C7 B! j! ]1 c
figure; hold on;  I: Y! `/ Y" |* @- @
for i = 30:y_len1 t7 L. `( c# @* ^
  for j=10:t_len( w. b5 a) [% I! r% {
[ii,jj]=meshgrid(j,i)  p! ]: H% _2 V4 X( H) x- C. F
array(i,j)=rhum(x_index,i,z_index,j);$ O1 p* Y, z+ a
contour(i,j,z,[rhum(x_index,i,z_index,j)])
5 j+ D( n- w. \( v% v# j* O  end: Z1 F5 _& \' \
end
$ f6 g  K/ U0 w# }$ ?- x$ [5 w. G
错误使用 contour (line 84)7 T; Q3 @& W- x, `+ _! E4 Z
Z 的大小必须为 2x2 或更大。
5 e* R9 N) m) G. I. C
0 e1 P" }/ n( e8 i/ u& e5 h& r' m+ Z+ \  P6 D& D" N7 O7 d3 a0 }
这个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
    ) I7 ?8 q. ?6 x& ~3 X6 K* E) K  for j=10:t_len5 V  Y/ E4 Q8 `5 _" X+ \$ T
    [ii,jj]=meshgrid(j,i)
    6 c6 Y$ U) }5 x' u+ l! H$ g# Yarray(i,j)=rhum(x_index,i,z_index,j);2 `' ]) k; G, L' ]- Z" B
    contour(i,j,z,[rhum(x_index,i,z_index,j)])' ^) u0 E3 J) m$ I8 Q" W
      end
    8 ?' ~7 g  R6 Z9 L- M' E$ Iend! W. y& P1 E# q1 U( u  C3 `
    , K% }. n2 ?' K
    这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。
    * u7 F2 T9 m8 }4 v& A0 X5 n) ?& i举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图
    % X9 B  {; ^- `" Gdraw_x = 1:1/4:7;
    8 }  w; i9 k6 `: x3 F/ ?draw_y = 2:1/3:6;( d. C  k8 Q4 M1 I+ b
    f = @(x,y) x.^(exp( -y.^2/50 ));
    # B. N( z+ K$ a, i/ {4 cfor ii = 1:1:numel(draw_x)" P4 I0 B, Z4 {- a) I$ |
        for jj = 1:1:numel(draw_y)
    3 [6 z- \  q+ B        Z(jj,ii) = f(draw_x(ii),draw_y(jj));
    . d5 Y/ P7 t: F% b    end1 @. @9 G6 z" `* N  y5 f9 W3 z- L
    end8 C) x7 G( h4 B; R5 D% q3 n
    [draw_x,draw_y] = meshgrid(draw_x,draw_y);$ o2 y# G7 _% X  L- j, N
    contour (draw_x,draw_y,Z);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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