|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
& c0 A* S4 }% n0 E5 r7 `3 L
' H8 M |3 O! D5 ?, N, R请教大神,这个是为什么呢??ode45 无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5?非常感谢!
6 J9 J# q+ }3 E( e A4 }4 K1 n% V) K# b0 U. ]
function f=boat1(t,x)1 I2 ?8 r- J- T8 U3 J8 O! T
if(norm(x)>1e-5) %限制条件,保证在x足够小的情况下可以结束计算
) u4 R3 {2 w! G! N, m f=[-2*x(1)/sqrt(x(1).^2+x(2).^2);1-2*x(2)/sqrt(x(1).^2+x(2).^2)]
' S6 U" p, @5 y. U8 \9 delse
! S/ K% G2 A1 r- ^6 }3 M f=[0,0]
7 {8 b3 ^- j2 i6 o: Z& I8 E6 z" W N) }) G$ C6 j
end
# b! ~/ M: \9 X7 l6 J' h
6 o1 p7 n! Z& {& w* V
: y+ y' o: t$ w" Hy0=[1000 0]; %微分方程的初值
7 |' g E! D# a* I& w[t,x]=ode45(@boat1,[0,1000],y0) %求解微分方程的数值解2 {/ K6 A9 x. D: Q9 f3 M0 n8 Y2 n* D
subplot(1,2,1),plot(t,x); %画出关于x(1)和x(2)的系统时间响应曲线0 C U5 j9 \6 F: f* N' a
plot(x(:,1),x(:,2)) %画出关于x(1)和x(2)的系统相平面曲线. v% B0 x9 F1 ]$ D' `
axis([-1 1000,0 1000]) %限定区间; g1 w# ]" [( t
text(10,15,'B') %标注B点
/ @9 F1 X# B# {text(1000,0,'A') %标注A点
d) S; ]: G% ]1 Y& i5 Nxlabel('X')' X5 O; \$ q9 N/ X" y/ e/ P4 z
ylable(‘Y’); T$ v" G( ~* r
6 w9 q/ Q' J5 l$ P t8 L
j: T- J/ k1 C无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5。! \$ Z# S3 Q1 }) r
7 y* ~- r+ J! {5 k出错 ode45 (line 488)" n0 f5 ` K+ z3 z
) K& M" k2 ]! W8 t9 W& [2 M yout(:,idx) = yout_new; |
|