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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

7 o5 i  z5 I. H4 C/ o
. t$ p: j) w$ X0 @! X/ Oclear0 Z  U3 J; i, g  B6 D% i( P
ncinfo('rhum.mon.mean.nc');
4 F% v: i3 r# |# K0 Ty_len=60;9 y8 q. B2 y- \4 ?7 ]. E
t_len=854;& {: w6 I8 g; u6 _' H, d
z_index=7
8 a$ q) z4 |( w7 J" }x_index=120
. Q# C' `+ l+ l( Z7 C2 gx = ncread('rhum.mon.mean.nc','lon');%x% A6 d- a7 \, K
z = ncread('rhum.mon.mean.nc', 'level');%z
0 ~' @3 ?0 F4 l9 B( k9 F3 `y = ncread('rhum.mon.mean.nc', 'lat');%y
* R- J9 g  j* N6 b, @t = ncread('rhum.mon.mean.nc', 'time');%t7 y6 G) z! D" N6 I5 m3 Q7 }
rhum = ncread('rhum.mon.mean.nc', 'rhum');9 b4 p- R' q9 ^% v. X
figure; hold on;
! X- b' w. ?% F! xfor i = 30:y_len
" l6 k0 j6 j! Y9 E& r/ v# i3 {  for j=10:t_len
1 z; k" M5 r6 @! V[ii,jj]=meshgrid(j,i)1 Z! K% \# }0 v- ~
array(i,j)=rhum(x_index,i,z_index,j);0 V" I/ T# O( r# L' J. j: U
contour(i,j,z,[rhum(x_index,i,z_index,j)])
5 R, J, @' {5 H$ |+ A& F  end
& g! {  [0 F- P0 Y# Q( X* l. Pend
. O. X1 K, s! d3 C3 `$ k  ~) Q
, |. A$ _: o+ `6 V0 N4 a  Y错误使用 contour (line 84)
  D0 X7 v2 c1 o( P+ m0 F8 ?Z 的大小必须为 2x2 或更大。" |" `! R8 p0 j& |, h
9 @$ B" o9 \( J1 s7 o; ?$ ?

* y! r6 k8 Q9 V* [# R) D这个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! X4 Q# X1 y; m3 o/ N, B& ~' J
      for j=10:t_len8 v# I! K1 ~1 j. A% T6 O
    [ii,jj]=meshgrid(j,i)
    4 i, H) U& I# ^" Q4 k+ @( Y) C  Warray(i,j)=rhum(x_index,i,z_index,j);
    * L$ O" K4 G9 h) `$ R* Scontour(i,j,z,[rhum(x_index,i,z_index,j)])
    ! G# \) ?1 o( n3 f  end1 u5 P% }% I0 ?0 S2 H8 D% R
    end7 s$ o. m- C5 s, a( x6 z0 \6 t( W$ V

    - `) R8 b$ d2 D. J( M' L& W) Y/ Y  F这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。
    3 |. Q$ t! @) f举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图
    ; ?- |/ T9 C9 ^draw_x = 1:1/4:7;: z& [( s4 `% q3 \8 B$ X* k( [
    draw_y = 2:1/3:6;' E# n! ]) |4 j
    f = @(x,y) x.^(exp( -y.^2/50 ));
    7 _3 u& t: S# }" e! Ifor ii = 1:1:numel(draw_x)" Q/ B8 \" L- ^8 y/ n
        for jj = 1:1:numel(draw_y)2 z4 H3 t  ^; I% T; r4 ^
            Z(jj,ii) = f(draw_x(ii),draw_y(jj));
    ( S' e0 E5 u1 i: I    end
    6 R0 q2 O$ Q) ?) x- I+ n4 Mend! l7 [8 f( G: M3 p5 o
    [draw_x,draw_y] = meshgrid(draw_x,draw_y);
    4 d7 o- c" S2 E4 `5 A9 y9 F' icontour (draw_x,draw_y,Z);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 10:47 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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