|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 E& `0 \# _" x+ @/ w# i
9 \% A6 ]% |2 H7 U" d请教大神,这个是为什么呢??ode45 无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5?非常感谢! o5 H, f) g& C
7 K5 I3 E( X6 B
function f=boat1(t,x): x. \) n" |* ?2 ]
if(norm(x)>1e-5) %限制条件,保证在x足够小的情况下可以结束计算3 W2 } I3 a! W) k: |
f=[-2*x(1)/sqrt(x(1).^2+x(2).^2);1-2*x(2)/sqrt(x(1).^2+x(2).^2)]
8 i( ^ b% O8 B4 n# g! s- uelse0 O3 W+ A. v' q/ I( _$ c1 i
f=[0,0]
( J- ?2 `- r7 }# f0 R3 l
' k5 o. s* t! N0 b6 G/ J) O; lend
9 f9 z. M/ f* j, }: X( m
! b2 T2 o6 j+ i; }. Q
; B* o0 b2 t, y7 m% ]8 F1 Iy0=[1000 0]; %微分方程的初值
a) A" y/ B+ P; y5 W[t,x]=ode45(@boat1,[0,1000],y0) %求解微分方程的数值解
& J$ f' e; L+ `3 _+ Csubplot(1,2,1),plot(t,x); %画出关于x(1)和x(2)的系统时间响应曲线
Y$ t) D0 [( p7 O0 ~plot(x(:,1),x(:,2)) %画出关于x(1)和x(2)的系统相平面曲线, c) M( V2 {8 X# ]
axis([-1 1000,0 1000]) %限定区间
6 K3 T' o# F Q$ I- }# O/ F7 Mtext(10,15,'B') %标注B点
3 T+ T n6 L7 Z* ?7 R# X7 s& Utext(1000,0,'A') %标注A点7 b7 F' y8 ^% A& y: L+ R& F
xlabel('X')
, _6 L+ H* @& {6 eylable(‘Y’)6 `, u" d2 M% M% p$ R) d# Y' p$ I
& ~( n5 `) i! o9 U* [+ e
2 u4 n9 Z2 a) R- r; t5 y& b/ T
无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5。
) Q6 l% o/ ]" @
) D1 B& q, D; o- l6 D, z# N( K出错 ode45 (line 488): k, Q# L4 u( t" t$ O( m8 r/ Z
: y& A+ ^, ?% Q- k( x yout(:,idx) = yout_new; |
|