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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
9 D- @- |. m- Q! J6 G
7 P' t& m% m/ V& G
clear$ f# d+ T% g% R( f* M6 o
ncinfo('rhum.mon.mean.nc');
: }; J7 `1 k) }y_len=60;. y8 i% m; r2 d
t_len=854;
" l) b, J8 R6 P7 g: [' yz_index=76 Y: C  _9 Y6 `0 \: `
x_index=120
/ h3 S! e% Q+ p, y0 _x = ncread('rhum.mon.mean.nc','lon');%x
  U, U6 }. ~6 F3 cz = ncread('rhum.mon.mean.nc', 'level');%z
% V+ D' V: b$ [- F/ t0 p! Uy = ncread('rhum.mon.mean.nc', 'lat');%y1 h' ^( _5 t$ }; c
t = ncread('rhum.mon.mean.nc', 'time');%t, ?5 F9 n3 D; B* o$ s! d9 \
rhum = ncread('rhum.mon.mean.nc', 'rhum');  `1 {+ I4 y  Q) u4 G7 H+ L& O
figure; hold on;
! m5 Q6 n* L5 Y# X) j. Mfor i = 30:y_len+ U( X" }  B& Q& V9 P
  for j=10:t_len; O/ p3 B; y! C3 k: a
[ii,jj]=meshgrid(j,i)8 q6 I! K0 B/ b# A0 }2 ]
array(i,j)=rhum(x_index,i,z_index,j);
1 S8 t, c2 c5 N5 E' q) _0 g4 I# ncontour(i,j,z,[rhum(x_index,i,z_index,j)])( d; w# }4 w% X: Z0 X
  end
/ n4 _& _' d# \2 ]0 V/ M6 a& lend8 c) X, \4 Q5 W2 N. q9 ?

. w5 F  x1 M" f  j3 s* V" e9 o0 o+ L错误使用 contour (line 84), h( x- o8 @% A3 w0 ]9 c: X4 X
Z 的大小必须为 2x2 或更大。9 z) K% S) n: C8 m5 N8 Z
) K' G: I# Z# r" {& t
. w: Z. X' e# ?6 u2 K" {: Y
这个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 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);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 08:22 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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