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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
在仿真中,首先进行求出反解,然后运行如下程序:
$ e  i6 Z5 F; S" {n=50;rou=300;lamt=2*pi;
2 H5 j% `7 O9 a9 N- J# r' Y. SZz=[300 400 500];
# z; w  |( X  [4 J4 PRou=rou*(0:n)/n;
, T# o. h5 R5 w+ Z7 _Lamt=lamt*(0:n)/n;
/ u! O3 Q4 q/ ^' v6 c& A% `[Rou1 Lamt1]=meshgrid(Rou,Lamt);! F* }) h# u$ Y$ d. C; D. o+ E
Xx=Rou1.*cos(Lamt1);0 k9 |/ S8 w8 t) J  W: S
Yy=Rou1.*sin(Lamt1);
- U, U  W: f% x6 @fai1=subs(faii,b,bb);
, |6 U: k7 s4 V, j3 t3 Ufor i=1:3
/ K6 x4 {+ y9 @$ x. [8 u2 d8 Yz=Zz(i);( t1 ^  R4 ~9 ^  u, e; [" K- K. d$ T
for j=0:n3 C3 X+ i( D- M
for k=0:n
4 A0 A" w, E8 k& V3 h4 `. Q9 zx=Xx(j+1,k+1);" n; P) i/ ^4 u0 V. s3 E
y=Yy(j+1,k+1);0 Q+ _8 b1 i" S
sita1=double(subs(sita,{rx,rz},{x,z}));0 b& y- Y# ~) l1 _- x7 s$ U
c21=cos(sita1);% w1 |& s5 w, `0 ^" G  K3 U4 s
s21=sin(sita1);, q7 {% w3 U7 Z* u: p
fai2=double(subs(fai1,{rx,ry,rz,s2,c2},{x,y,z,s21,c21}));
/ @; h# l9 N: g# F7 M/ W& f  Z9 mc31=cos(fai2);5 x" N! U7 l5 y$ O& {4 o+ }  i
s31=sin(fai2);
* T* W" q& B" b, l4 i. O* wgang2{i,j+1,k+1}=subs(gang1,{rx,ry,rz,s2,c2,s3,c3},{x,y,z,s21,c21,s31,c31});' H7 Z' e" q. ~) u1 J3 C
end
* y9 F6 ^# {3 {4 Vend
1 S% @2 H- h" a# D3 A8 D0 Oend* a; ^3 c6 m# R4 t* {& x) ]

$ F! ]' W7 M  \7 R8 M根据以上程序的计算结果,运行如下程序:
2 u& d7 e8 O$ H2 L1 N9 G. Ifor i=1:3. J. d9 x8 E, _1 u. g# U  r) m
for j=0:n
3 L; |* m! F- s7 O3 O2 e; ^- ?for k=0:n5 p$ k" {  `7 L) J
gang11=eigs(gang2{i,j+1,k+1});. h) y) D# w, o6 o) D, J
gang12(j+1,k+1,i)=gang11(6)/gang11(1);* Z; ^2 u' _# v1 H( j
end, H3 q4 D4 p: E0 [( P3 L
end  P( G1 s' C7 }
figure(i)
2 E& \7 U( t/ _/ B& _gang12=double(gang12);
/ p8 M0 X# Z7 v0 ^; O4 Nmesh(Xx,Yy,gang12(:,:,i))
+ \( Y* V8 g! l5 Q: ?) A2 A, Cend- {" p7 n0 B) z1 N
' L+ n, O/ J9 H5 n6 g, L2 M* ?
该程序应该是绘制出三个图形,但是绘制一个图形以后就出现错误,错误如下:
: K% [6 b* r7 N- m$ x??? Attempted to access gang11(6); index out of bounds because numel(gang11)=0.# @* g' a1 P$ p( r
% b. A: ]4 f; ~" i- n* R! d  N
Error in ==> gangdutu at 5$ f& P; @% `, e+ ], {7 J4 e
gang12(j+1,k+1,i)=gang11(6)/gang11(1);7 a: c2 q/ c& t

该用户从未签到

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的长度是多少就要有你自己看情况决定了。/ p4 i) Y: b* k/ z" B+ c

该用户从未签到

3#
发表于 2022-9-13 16:53 | 只看该作者
再看看别人是怎么说的- B, ]3 H4 X! y% |2 L( l- Y( M

该用户从未签到

4#
发表于 2022-9-13 20:59 | 只看该作者
6 k2 Z  p  Y" H* n  U; h5 e( c/ A2 u& j
你的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-23 02:54 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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