|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 Y9 J" [' l% v- V: g
`$ d" _6 f' n9 L6 J请教大神,这个是为什么呢??ode45 无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5?非常感谢!
0 u' S6 F9 Q* D( I
+ Q- O' H. F# I* Q ifunction f=boat1(t,x); ]5 s1 ~# p% y8 e4 N$ d6 m
if(norm(x)>1e-5) %限制条件,保证在x足够小的情况下可以结束计算/ W- \' z8 W1 J7 z$ P0 D @
f=[-2*x(1)/sqrt(x(1).^2+x(2).^2);1-2*x(2)/sqrt(x(1).^2+x(2).^2)]
w0 K. u2 h& V% H+ r, H* [# ]8 uelse
0 g7 G1 l0 t6 X/ \5 R. Y9 I* R f=[0,0]
" M' X% u9 u, J1 }( r9 X) Z
0 K& R2 u0 o; c3 T% M( F, ^end8 I" K/ r5 l5 `
5 E* o L! |, O; F; h, F. H- ?5 Z. |. q n6 G, E0 ~
y0=[1000 0]; %微分方程的初值" q8 ?7 F9 l5 U' c0 \6 {
[t,x]=ode45(@boat1,[0,1000],y0) %求解微分方程的数值解0 c5 q. I3 i9 ?( g5 R
subplot(1,2,1),plot(t,x); %画出关于x(1)和x(2)的系统时间响应曲线# n8 L- u+ o1 n& ^' m c! R
plot(x(:,1),x(:,2)) %画出关于x(1)和x(2)的系统相平面曲线- \4 Y) f4 ?# ^- a" } p7 z
axis([-1 1000,0 1000]) %限定区间. W0 A4 X* G1 o& @2 W2 M8 D2 [5 l4 p
text(10,15,'B') %标注B点- n+ n7 L# Z, A
text(1000,0,'A') %标注A点& f: q3 e" }. S0 q
xlabel('X')8 W* ^, [9 ]4 X( }; K. T
ylable(‘Y’)
/ q2 \0 E' N! c5 N2 M/ G5 I/ T1 R6 ?$ f
0 |9 s$ k5 b$ h" z, s9 s* w; Z9 u" w! j. _; b8 }0 k" a) l
无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5。
% w% O& s) A- \( C( c2 g; t F' V E3 u! D- K
出错 ode45 (line 488)
. @/ i9 I8 _$ |+ @7 U
I2 h0 S$ R x% O5 H' P, E yout(:,idx) = yout_new; |
|