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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
在仿真中,首先进行求出反解,然后运行如下程序:
) q& B, Q. S& q! z8 dn=50;rou=300;lamt=2*pi;
; a5 B9 u4 I" _7 ~* @7 {+ ^; zZz=[300 400 500];' x3 ?& G7 c( A0 n: E* H. Y
Rou=rou*(0:n)/n;7 O: t! V2 B& @- \: u. ]
Lamt=lamt*(0:n)/n;
5 f) |! s% ]5 T# q4 ^. c2 |+ C[Rou1 Lamt1]=meshgrid(Rou,Lamt);5 \, Y) }: s8 _5 M* c$ T( h
Xx=Rou1.*cos(Lamt1);
3 i( g8 b# C; jYy=Rou1.*sin(Lamt1);0 P* u1 l2 k5 {; K8 E7 X% u
fai1=subs(faii,b,bb);
, B8 K7 o" K2 R4 [9 K5 k% efor i=1:3
6 Q& K$ J; P+ t1 {3 a% jz=Zz(i);3 {8 j0 _* d$ E: x3 C. S
for j=0:n
+ K1 ?# @. ?& {% Z9 @for k=0:n
# O6 A! W! u% }6 nx=Xx(j+1,k+1);
3 t+ J2 g2 B* Z" B+ _$ X# `% i- z  Dy=Yy(j+1,k+1);/ z& C& C, u" Q
sita1=double(subs(sita,{rx,rz},{x,z}));
/ e! b  Y9 c, t- K- yc21=cos(sita1);
; b! ^+ {0 K+ }; J' ]s21=sin(sita1);
% V* m4 }; I: F. g! I0 u, T. p- ?fai2=double(subs(fai1,{rx,ry,rz,s2,c2},{x,y,z,s21,c21}));) w$ N" g3 \) p7 V& x1 e  g
c31=cos(fai2);
# k6 c1 L$ ~: V" M; Ws31=sin(fai2);
# p( I& {" e; v0 e  D( r& w9 u7 Ggang2{i,j+1,k+1}=subs(gang1,{rx,ry,rz,s2,c2,s3,c3},{x,y,z,s21,c21,s31,c31});
. Q5 D: k' ?* C: Iend
+ V7 A3 k" L8 _; x4 y+ Nend" w- B- @2 Z. H: Z" Y, p
end( |, g/ u5 C$ s5 s2 X8 \2 q- b

( F" m' @% y( F: t! n根据以上程序的计算结果,运行如下程序:" q3 y! `. r3 G9 d
for i=1:38 C0 D; d6 x0 d' m' c/ c9 ?4 N( ^
for j=0:n. S+ P4 |5 H$ u3 Q2 {0 q. ~( r
for k=0:n
' l5 x) `# c7 t6 Sgang11=eigs(gang2{i,j+1,k+1});* U# d' f3 f2 \4 Z- o+ x
gang12(j+1,k+1,i)=gang11(6)/gang11(1);& P- O7 q" ]& L" ?" h4 N9 k- w+ S6 a
end; T% t* J2 `- h5 s2 K
end
3 C) T# N) g4 Z& f6 |figure(i)
+ G' K; y) b5 }! s% Igang12=double(gang12);/ g8 }( N! s9 J
mesh(Xx,Yy,gang12(:,:,i))+ j2 v! [4 @6 Y3 M6 N4 |
end
% Q7 [9 D6 K* P+ p6 [9 [
+ G6 v+ X$ c( b该程序应该是绘制出三个图形,但是绘制一个图形以后就出现错误,错误如下:
" d' u! ~4 K4 S??? Attempted to access gang11(6); index out of bounds because numel(gang11)=0.6 q# X9 a, H$ u: g* P7 \
2 b, B2 N6 \6 g7 w" U
Error in ==> gangdutu at 58 V: \0 S2 s9 P" \* h
gang12(j+1,k+1,i)=gang11(6)/gang11(1);
  `3 ]4 W4 T0 m- A

该用户从未签到

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的长度是多少就要有你自己看情况决定了。
/ b) Z0 K4 G' T3 M5 V

该用户从未签到

3#
发表于 2022-9-13 16:53 | 只看该作者
再看看别人是怎么说的$ |& Z1 \- k5 A

该用户从未签到

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

5 l. B- N- |) K* a2 C' ^8 r你的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-11 15:37 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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