|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% z$ j0 E2 e0 r ~& t" m$ i( M+ z4 t* a4 _1 w4 F
请教大神,这个是为什么呢??ode45 无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5?非常感谢!6 s, e7 X- y' Y8 r( V" Z; |
" x/ J! ]3 j8 i2 O/ {; d
function f=boat1(t,x)
4 h1 c, r6 Z7 a: Y4 ?if(norm(x)>1e-5) %限制条件,保证在x足够小的情况下可以结束计算
; C, n, Y: J6 B6 U- H2 ? f=[-2*x(1)/sqrt(x(1).^2+x(2).^2);1-2*x(2)/sqrt(x(1).^2+x(2).^2)]
. j2 e6 B; X7 velse2 s, i! j2 ^7 y8 R+ ~8 e
f=[0,0]
. c: f# D x+ u$ k, W
/ V2 l) p9 X& ]& Oend) M! O* E* i9 v( `/ a0 O, L
B% B5 W4 V5 z: F! y* F. k
" y0 h) r3 B$ t
y0=[1000 0]; %微分方程的初值( l* A" n$ V* Y9 u/ t8 z# |' ?
[t,x]=ode45(@boat1,[0,1000],y0) %求解微分方程的数值解
' @* W2 d8 U+ n0 m1 ysubplot(1,2,1),plot(t,x); %画出关于x(1)和x(2)的系统时间响应曲线. [# J+ f. p7 E$ X8 y f0 z
plot(x(:,1),x(:,2)) %画出关于x(1)和x(2)的系统相平面曲线$ A+ F" G3 Z! e0 @; h
axis([-1 1000,0 1000]) %限定区间
! M4 R; d( i3 Y5 |4 g- Utext(10,15,'B') %标注B点& Y- i2 E, k" J3 `7 y U+ d
text(1000,0,'A') %标注A点
3 k8 J' l7 C' g K5 hxlabel('X')
7 d4 P( {' b! f0 Sylable(‘Y’)
/ i2 z, L7 y; c( n3 L! n( Y; _6 e/ ]8 ~4 S, N6 T
. ^1 G/ H# Q$ P' T3 a6 c. W
无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5。4 F; s( W5 S6 J, d6 [& h4 w
/ R% i f' t: X1 \" ^7 l, L/ g" Q! _出错 ode45 (line 488)% b. D) L: F, b+ a& J V- T
& |( R7 c, V# U yout(:,idx) = yout_new; |
|