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

[仿真讨论] matlab仿真中一个运行错误

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
在仿真中,首先进行求出反解,然后运行如下程序:
: n+ ^, z* o' L& v' o1 Gn=50;rou=300;lamt=2*pi;
* q0 |* |% p0 q% K) K' _Zz=[300 400 500];2 h4 }2 k$ Y, a! n2 z
Rou=rou*(0:n)/n;6 d" I6 v1 X4 N% W+ L8 T# F7 D
Lamt=lamt*(0:n)/n;. C5 q9 {# T. H& W
[Rou1 Lamt1]=meshgrid(Rou,Lamt);
" n& I" D3 M. L: r- M3 DXx=Rou1.*cos(Lamt1);# ]7 `( P$ ]" y1 A% v
Yy=Rou1.*sin(Lamt1);# R& m. v- z: G; f5 y
fai1=subs(faii,b,bb);
7 L8 a% q( o: F2 Gfor i=1:3' o5 D; T" [4 c- Q$ R1 Z4 }
z=Zz(i);+ X2 S0 |- V& U) n
for j=0:n
3 C! r9 d0 l  t! h# h" dfor k=0:n
1 @# [+ E1 g0 D7 ~x=Xx(j+1,k+1);( L0 b$ Y- C) V
y=Yy(j+1,k+1);; o3 }6 {' S3 ?- K
sita1=double(subs(sita,{rx,rz},{x,z}));6 L, r* f1 p" f2 k" R. S
c21=cos(sita1);
0 j& v2 Y; F0 f7 Q8 u: ]8 x: Os21=sin(sita1);
' x9 H& k: }$ Hfai2=double(subs(fai1,{rx,ry,rz,s2,c2},{x,y,z,s21,c21}));6 {( L# N& \% U9 S8 O  z# n
c31=cos(fai2);
! F: G0 f/ }6 g4 Ws31=sin(fai2);
* X8 {) }& d* n3 C. x: S. n8 i' ~gang2{i,j+1,k+1}=subs(gang1,{rx,ry,rz,s2,c2,s3,c3},{x,y,z,s21,c21,s31,c31});/ B8 v5 ~* w" O3 A
end
! G( C1 x/ n' }" e: q! i- w$ nend
+ K- y  @; [2 ?) M. g  Lend. K! F; z5 l) N

# Z' H' w+ n- c1 x1 U根据以上程序的计算结果,运行如下程序:
7 d7 @# D+ Q: G6 `2 v& ~# H$ T4 x9 {for i=1:3
/ a" @  S5 O5 ifor j=0:n; j' @! e% ?" W- S; ^7 z" ?/ R% s
for k=0:n
; p3 K/ t; a8 Dgang11=eigs(gang2{i,j+1,k+1});3 o( e) R) o1 t  ^! O6 |* K: R
gang12(j+1,k+1,i)=gang11(6)/gang11(1);  ?. v; g( M* s/ z* b
end. E4 }7 {, p) k0 h6 h
end
1 G  C, q9 b+ ^! a8 t- hfigure(i): l4 b& o! D3 f
gang12=double(gang12);6 V1 K& c/ s5 w/ }3 h
mesh(Xx,Yy,gang12(:,:,i))
+ p7 r: Z# i! H8 X/ _0 iend3 P! ~" @" B5 X; a; d

+ }1 Y$ V  Q) n9 E: `该程序应该是绘制出三个图形,但是绘制一个图形以后就出现错误,错误如下:
* n5 ~$ F4 C4 t6 ?3 Y??? Attempted to access gang11(6); index out of bounds because numel(gang11)=0.
+ D( P1 G/ q/ B& x' i8 c! h
7 m" a& N2 g  M' o+ PError in ==> gangdutu at 5& K5 D& H" @' P1 F
gang12(j+1,k+1,i)=gang11(6)/gang11(1);9 ~; }, R3 [" u3 X5 d

该用户从未签到

2#
发表于 2022-9-13 15:39 | 只看该作者
你的gang11是一个值,而不是一个向量,所以调用gang11(6)和gang(11)有误,超出了范围。应把上面一句 gang11=eigs(gang2{i,j+1,k+1});改为 gang11(k)=eigs(gang2{i,j+1,k+1});此处gang11的长度是多少就要有你自己看情况决定了。
# Q$ B& I9 T! l3 Y, |% Z

该用户从未签到

3#
发表于 2022-9-13 16:53 | 只看该作者
再看看别人是怎么说的0 }+ [" w; ^7 c: y& d% j

该用户从未签到

4#
发表于 2022-9-13 20:59 | 只看该作者
8 F0 S) x: K1 v9 n* S- `& [
你的gang11是一个值,而不是一个向量,所以调用gang11(6)和gang(11)有误,超出了范围。应把上面一句 gang11=eigs(gang2{i,j+1,k+1});改为 gang11(k)=eigs(gang2{i,j+1,k+1});此处gang11的长度是多少就要有你自己看情况决定了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-2 08:00 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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