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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

6 [9 O: A4 ~- c0 @5 m$ C( I$ x2 M. a5 M% N$ q6 S
clear) A# o/ C0 D: K& k& b  l8 k" P5 B
ncinfo('rhum.mon.mean.nc');
9 ~1 `% r% W8 c! z' Wy_len=60;$ E+ u: B. _+ Z5 G# u0 L  F4 F
t_len=854;/ G) D7 i7 b/ e! I( a( R* Z/ J2 {
z_index=7
6 g; t7 v  F( p; B8 A5 d8 t0 w1 Ux_index=1208 O6 n) l% Q: J" K" C4 c$ l
x = ncread('rhum.mon.mean.nc','lon');%x
# d; y7 H3 l% {. E& d* L: K3 Sz = ncread('rhum.mon.mean.nc', 'level');%z# v' R  p4 X$ m9 ~  ?+ B% |
y = ncread('rhum.mon.mean.nc', 'lat');%y/ B4 M* k% ?. b. Q' @
t = ncread('rhum.mon.mean.nc', 'time');%t8 M$ S3 T! e  n3 b; s
rhum = ncread('rhum.mon.mean.nc', 'rhum');
: \% j4 ^' j) y0 s4 l3 ~figure; hold on;8 ?0 U" O4 g9 u1 Q& h
for i = 30:y_len
2 [$ D0 L9 Y! J* B2 x  for j=10:t_len0 p/ n& q7 Y) Q2 J/ f, [
[ii,jj]=meshgrid(j,i)# C. F/ w- U$ T1 `
array(i,j)=rhum(x_index,i,z_index,j);9 _; F' z  O. E# g
contour(i,j,z,[rhum(x_index,i,z_index,j)])
6 m9 K4 J8 v% F6 O6 n5 `  end
0 ]. m* l: |1 ~0 N) k  D/ v2 m8 Gend. T5 R# w) _/ v# \. h
- T# s: A% ~" M' `: u4 _2 [3 p2 `8 i
错误使用 contour (line 84)" S0 Y4 i' r- h9 ?
Z 的大小必须为 2x2 或更大。8 ]( ?7 N. t: P6 y0 ~  ]( o
; y7 ^" D. i. E- N. A
- d2 o0 {/ w1 O. h2 u" j
这个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
    * X+ E& K) R- p! n5 w  for j=10:t_len
    ; v9 ?* F2 u; P6 a/ r+ w[ii,jj]=meshgrid(j,i)
      z: l( L* |- p  e! Z& rarray(i,j)=rhum(x_index,i,z_index,j);
    ( Y' Y! W- Z6 Hcontour(i,j,z,[rhum(x_index,i,z_index,j)])* n% H1 o8 ?& z  }* g
      end# s# ?% c6 {5 [0 e+ W
    end$ B) Y/ q& u1 m6 J; v7 L: C: G
    5 o7 Z+ q# i& L7 }
    这里不对,不应在循环里面嵌套contour,因为对循环每一步而言,i和j都只有一个数值,meshgrid不能把它们展开成矩阵,而且contour(i,j,z)里面的这个z也没赋过值。
    5 P+ l4 w9 U- b0 E5 H7 [' r举个正确用法的例子,循环每一步计算Z的一个元素,全部计算完毕后,用meshgrid把横纵坐标向量展开成矩阵,最后在循环外面用contour绘图
    1 |0 R/ f* D4 [: \+ |draw_x = 1:1/4:7;
    ( ?0 [2 [; L+ T6 ydraw_y = 2:1/3:6;) s1 Y. [% ~2 _- \
    f = @(x,y) x.^(exp( -y.^2/50 ));. T# _% |% }( d6 _8 ^- i
    for ii = 1:1:numel(draw_x)
    0 [. f! p! I9 J    for jj = 1:1:numel(draw_y)
    5 l; P" k# x3 Q; u2 e        Z(jj,ii) = f(draw_x(ii),draw_y(jj));2 s$ J% q- w  p
        end, v% v- B# b; S1 a3 O4 }
    end
    ( P0 S7 ?' l0 M4 a[draw_x,draw_y] = meshgrid(draw_x,draw_y);! H3 |0 b2 s. y4 `, c
    contour (draw_x,draw_y,Z);
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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