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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
在仿真中,首先进行求出反解,然后运行如下程序:3 w! |0 @+ `1 N7 g3 K' b
n=50;rou=300;lamt=2*pi;
$ k( c, D2 g0 s) M8 v/ `1 UZz=[300 400 500];3 w  c' W- I- C; d
Rou=rou*(0:n)/n;) f8 j2 X7 N5 M. z, b3 j
Lamt=lamt*(0:n)/n;
7 `* T4 W6 n( X) u7 R$ q[Rou1 Lamt1]=meshgrid(Rou,Lamt);* d* F  U) W; f& T7 j( t
Xx=Rou1.*cos(Lamt1);
+ \; b! C- i, N3 @' D9 `Yy=Rou1.*sin(Lamt1);* `. L+ N9 t8 ]5 t3 S
fai1=subs(faii,b,bb);% Y- E' W" \0 u4 b1 H4 o
for i=1:35 L& K& a+ `9 p5 ^
z=Zz(i);
5 R- ?: [( I: Qfor j=0:n9 o; @& m$ m) Z0 f
for k=0:n# v1 [& e8 t8 i& `3 D0 Z
x=Xx(j+1,k+1);
2 T: T! t- x$ j6 v3 _y=Yy(j+1,k+1);
9 W: S; `4 t( i: `# Y4 w/ [7 Zsita1=double(subs(sita,{rx,rz},{x,z}));; P3 n% ]% ?9 n$ e2 E* i
c21=cos(sita1);
4 P) L8 y1 m; n) H8 ks21=sin(sita1);
1 }' G& [1 b5 ffai2=double(subs(fai1,{rx,ry,rz,s2,c2},{x,y,z,s21,c21}));
0 _3 e. A! q* f& Y4 ic31=cos(fai2);
  }$ o% Z# s% g, R4 Ds31=sin(fai2);
6 L: ]  q2 q- T& R+ C( Fgang2{i,j+1,k+1}=subs(gang1,{rx,ry,rz,s2,c2,s3,c3},{x,y,z,s21,c21,s31,c31});
& l' N# m$ G: }/ Y; R0 Tend% Q; h: K# g# ]6 n, x0 F2 c# J& }
end
4 P* t1 ?3 M  o& J, ]9 z/ \) Xend! E+ T+ M/ d8 Y, t
" m- }* }- b* C/ c5 O, {. S* R
根据以上程序的计算结果,运行如下程序:
( ?1 p$ s7 c5 K( o7 d; zfor i=1:3
4 T, p" F; N! T. x" I4 ofor j=0:n
4 S5 u9 ^. u" C  o5 zfor k=0:n
& Z  j; ^/ }% Zgang11=eigs(gang2{i,j+1,k+1});
$ Z- h+ H7 e& {) Sgang12(j+1,k+1,i)=gang11(6)/gang11(1);* p  C+ M- d1 \2 g8 L
end# e5 h4 h& X0 ?# f, U! L2 X
end
1 H9 r" Y7 x; J; S3 Q  _figure(i)( |) |9 B4 P$ i
gang12=double(gang12);$ ?: b1 {7 r& V" K0 v; t' W
mesh(Xx,Yy,gang12(:,:,i)): E* L: B& G4 Q
end- ]3 m+ J7 e4 t' Y+ {
6 [- ~' k* E1 O( y5 J2 }
该程序应该是绘制出三个图形,但是绘制一个图形以后就出现错误,错误如下:
( V5 V0 I" s3 L??? Attempted to access gang11(6); index out of bounds because numel(gang11)=0.
* E+ h9 i+ J/ b. |0 T  S
4 f' a- V, x2 j* w  uError in ==> gangdutu at 5
+ \3 u6 S7 @* f7 a, Fgang12(j+1,k+1,i)=gang11(6)/gang11(1);$ V! `3 ~' Z0 m, F3 t- _- ?& T9 ?

该用户从未签到

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的长度是多少就要有你自己看情况决定了。# \1 {0 c0 t% n1 E

该用户从未签到

3#
发表于 2022-9-13 16:53 | 只看该作者
再看看别人是怎么说的' I2 c: m$ n6 t+ @( H: N

该用户从未签到

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

% b  ^2 Q0 \4 b4 ?你的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-10 15:02 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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