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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
6 K- |, T# Y( {7 f! R4 g& `

. a) k( ~8 l( j$ {8 E8 f( Rclear
7 z/ Z+ N# Q  x( Sncinfo('rhum.mon.mean.nc');# F( o1 o  t; X- ~5 F
y_len=60;
& L, d% b$ x! H! ~0 xt_len=854;
2 L# F/ C) N. _4 Wz_index=7
# G" m0 J: {3 E# j0 T2 o4 j* jx_index=120
! F; l( M. E% ~  M/ rx = ncread('rhum.mon.mean.nc','lon');%x
8 u7 D3 H( B) J' o- az = ncread('rhum.mon.mean.nc', 'level');%z
* }! [, \& A, q; |- }y = ncread('rhum.mon.mean.nc', 'lat');%y
) z& H/ q" m8 gt = ncread('rhum.mon.mean.nc', 'time');%t
+ s4 q; B! T6 nrhum = ncread('rhum.mon.mean.nc', 'rhum');* y" q4 {% s9 ~
figure; hold on;6 K% Y9 |6 [* w  F1 o+ V
for i = 30:y_len  B4 v) J6 u$ F. ^+ B: x0 s7 n
  for j=10:t_len
0 g5 ^, ]) T/ W6 f2 E[ii,jj]=meshgrid(j,i)
4 O0 M3 l1 u& P, K- u2 E1 harray(i,j)=rhum(x_index,i,z_index,j);2 V1 s! s- e' M) t2 a
contour(i,j,z,[rhum(x_index,i,z_index,j)])5 c+ Q% y4 Q/ o/ W
  end
% ]6 _" {$ C/ kend6 N% K! h: z+ d; ?* ]- e2 t

6 F+ s+ y. m0 K  G* ^错误使用 contour (line 84)
3 J0 M- f7 y3 H* D6 gZ 的大小必须为 2x2 或更大。9 f: u' x/ k7 H! v9 z

& P# b% v7 D$ P5 M" `6 y$ n' y. E" y# h9 `
这个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
    : Z5 d5 N% I2 a& a  for j=10:t_len! R' I+ v2 K# t6 a
    [ii,jj]=meshgrid(j,i)" i- ^+ _- ?1 |! c& R* C: j
    array(i,j)=rhum(x_index,i,z_index,j);# d) J# O. E4 |- b1 o/ c
    contour(i,j,z,[rhum(x_index,i,z_index,j)])+ z3 `( v  H# [' p
      end: o" Z! \3 h) o
    end
    ( {$ a  m9 ]& Y9 r* T' f! E8 K; C- O% P* _$ P( |: X! Q
    这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。
    . m+ |5 G+ ?7 V4 s0 v4 U% t举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图. i/ }( A& k6 N
    draw_x = 1:1/4:7;
    9 P+ |# A8 g$ s: R& s! rdraw_y = 2:1/3:6;9 g1 @* \. F: G
    f = @(x,y) x.^(exp( -y.^2/50 ));7 T. o0 D4 g& P1 O$ i, S, A
    for ii = 1:1:numel(draw_x)
    / z8 l' [8 I1 p1 g, B6 O0 p    for jj = 1:1:numel(draw_y)
    1 U4 n2 ~# S6 V( K' E; y        Z(jj,ii) = f(draw_x(ii),draw_y(jj));" p8 T0 l; }5 `; l5 F
        end9 g. d# q; a; q( U. e6 C9 a- c
    end
    $ |& L8 D5 s( \/ p3 N1 R/ K[draw_x,draw_y] = meshgrid(draw_x,draw_y);
      B' L5 ~; f5 r* ]contour (draw_x,draw_y,Z);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-18 14:34 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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