|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ z0 P; L9 S) L" [8 x& }& c; ^# l7 |7 I% g; n
请教大神,这个是为什么呢??ode45 无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5?非常感谢!, r4 T- n) n {5 t) |
' l' o- }/ U5 {6 |! x+ A
function f=boat1(t,x)
" _' p- e2 a8 ^9 Bif(norm(x)>1e-5) %限制条件,保证在x足够小的情况下可以结束计算
7 O( c7 O. U5 u% @3 p0 j: f f=[-2*x(1)/sqrt(x(1).^2+x(2).^2);1-2*x(2)/sqrt(x(1).^2+x(2).^2)]3 w6 V; z. T3 @ K8 C6 q/ D
else
" P: p, O* Z9 G6 J8 w f=[0,0]
+ O* J. b' ~8 I5 A4 q5 F4 w. I; H
6 G' c6 W: K2 ] b/ z/ Nend0 _) o7 {: G+ D" X$ W' n' O
5 ^& d/ R: ]* ]9 q3 v& O
2 p' H" x$ r+ G, B+ yy0=[1000 0]; %微分方程的初值
' v( e" t& l& S; ^[t,x]=ode45(@boat1,[0,1000],y0) %求解微分方程的数值解) l0 R! k U h' E* Q/ ?
subplot(1,2,1),plot(t,x); %画出关于x(1)和x(2)的系统时间响应曲线
1 u% q: y7 e9 ^, k; H* Rplot(x(:,1),x(:,2)) %画出关于x(1)和x(2)的系统相平面曲线
" y; A1 J7 [ R T7 K9 {' Aaxis([-1 1000,0 1000]) %限定区间# z! z6 P8 e T
text(10,15,'B') %标注B点- P% h- y& b: F% ]' u! F& c* j
text(1000,0,'A') %标注A点
6 N$ u8 X# @- xxlabel('X')
: `0 p z( b8 d+ m) I) A& h: wylable(‘Y’)
5 B4 O3 r8 G8 D% i- S! M/ I5 x* N
2 O8 S+ x$ r. e1 x8 M% C p7 [4 e0 B3 {& ?! A8 n
无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5。
" l1 Y: k! h0 e% L4 d/ Z2 v
, R8 F$ ~2 r2 A% b5 \2 P出错 ode45 (line 488)% l i* s! N6 _; Z6 U
) O' M6 z- O8 S, w
yout(:,idx) = yout_new; |
|