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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
在仿真中,首先进行求出反解,然后运行如下程序:
( z! c4 X2 c5 P( ^5 on=50;rou=300;lamt=2*pi;7 O; {1 G- P+ j% a8 X
Zz=[300 400 500];; J5 i5 p) W& I% C- S  L' q. G
Rou=rou*(0:n)/n;6 f0 Y, x' k! H& z' x
Lamt=lamt*(0:n)/n;
; \  R6 W& y) J[Rou1 Lamt1]=meshgrid(Rou,Lamt);
' a% R- t) ]- N4 |! ]: SXx=Rou1.*cos(Lamt1);
3 o$ m8 ]2 l' w3 x9 wYy=Rou1.*sin(Lamt1);
; S0 Q! S& ]2 }" X" hfai1=subs(faii,b,bb);
$ H% T% @0 r- y- Kfor i=1:3
$ |5 t' l; x8 V% J$ M8 bz=Zz(i);: N9 \# _- H2 f6 q5 `
for j=0:n
# X; j" y* B/ A/ w8 A. |7 m, }for k=0:n
, p/ J! W* y) v: h3 N0 K, p# v! wx=Xx(j+1,k+1);6 p% Q6 m, F8 V) F! U
y=Yy(j+1,k+1);
% C' d& `- q4 X1 t3 hsita1=double(subs(sita,{rx,rz},{x,z}));2 `# D6 W5 M4 m5 }/ H
c21=cos(sita1);# `: k( |4 g9 C( o. C
s21=sin(sita1);7 e5 a) u/ N* c  W
fai2=double(subs(fai1,{rx,ry,rz,s2,c2},{x,y,z,s21,c21}));
3 X/ w: k/ F& o) J. jc31=cos(fai2);( [) h0 r. e, L* u1 m2 a
s31=sin(fai2);
& m6 M2 A% @! U" H9 e2 igang2{i,j+1,k+1}=subs(gang1,{rx,ry,rz,s2,c2,s3,c3},{x,y,z,s21,c21,s31,c31});* d& c5 `4 [6 n9 u0 R/ c& \1 f* D
end
! P2 i% A6 S5 y9 k4 C2 \% M7 Mend
: a; `6 Q$ b( pend
8 \4 U& F, i3 O, @" O7 w0 o# v0 s
7 q8 H; r/ x1 G* R根据以上程序的计算结果,运行如下程序:
( t% q$ q7 a9 {2 Vfor i=1:3
. k7 K) e* S7 ?" v* {3 q9 u' z& L9 ifor j=0:n7 s$ A/ D2 k# l2 c
for k=0:n, N1 A' c: F1 c. @+ E
gang11=eigs(gang2{i,j+1,k+1});
: z; Y- R9 p. v$ \6 Igang12(j+1,k+1,i)=gang11(6)/gang11(1);
3 C1 D. Q; A# l" z, send8 U2 u* B$ W  J' ?4 e1 a$ X
end
1 p$ K9 W( u' I0 Cfigure(i)
* x- \  I9 d) w' b) Fgang12=double(gang12);/ W6 z6 g4 }, C) {2 {/ Q
mesh(Xx,Yy,gang12(:,:,i)): s6 z: ?7 A" s3 q
end
8 a6 _9 u* ]- l7 a, F0 z8 I( L& b0 [4 X% ^4 L( D
该程序应该是绘制出三个图形,但是绘制一个图形以后就出现错误,错误如下:
/ I, [# Y( S9 Q: ~: o2 L; c$ @??? Attempted to access gang11(6); index out of bounds because numel(gang11)=0.
% ?; y. L* e7 O1 V& g3 _5 |1 E0 y2 F7 Q" X- e
Error in ==> gangdutu at 58 v" a+ w" M/ a: {; n$ P" W
gang12(j+1,k+1,i)=gang11(6)/gang11(1);8 n( K/ N) _. M, g7 P: _- W

该用户从未签到

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的长度是多少就要有你自己看情况决定了。
( V7 H" Z- x4 }/ N5 O5 F; L# A9 n

该用户从未签到

3#
发表于 2022-9-13 16:53 | 只看该作者
再看看别人是怎么说的
" v9 x: V9 A& v' I/ W

该用户从未签到

4#
发表于 2022-9-13 20:59 | 只看该作者

( O$ e. ~4 _& B: \$ _你的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-7-16 15:23 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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