|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' V* t% |8 A, q
. h# B1 T* l2 q/ l请教大神,这个是为什么呢??ode45 无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5?非常感谢! V9 M1 a+ N* t1 m# O, z
7 E8 d# V$ x% ~0 s$ S q! K
function f=boat1(t,x)
4 X+ u# R; x2 T5 T$ _/ m4 i$ N/ Dif(norm(x)>1e-5) %限制条件,保证在x足够小的情况下可以结束计算' N, A6 E* z: x9 k! l; r
f=[-2*x(1)/sqrt(x(1).^2+x(2).^2);1-2*x(2)/sqrt(x(1).^2+x(2).^2)]
. l4 I+ ]- ~5 {* n4 X8 k% Belse6 |5 G: ^0 c' D" R, U/ W4 {
f=[0,0]
6 [ g& X: y* U8 W$ W/ `* t7 B9 @) T8 s7 ~% E
end. K- {" ^! U$ f# T+ J
1 {1 U' m0 i5 u9 e1 i& z7 p- \# F0 q% P4 a! {
y0=[1000 0]; %微分方程的初值/ f! i# I5 r& S/ c: G& b" `7 p
[t,x]=ode45(@boat1,[0,1000],y0) %求解微分方程的数值解# S L5 r6 b. }! B1 g1 Y E
subplot(1,2,1),plot(t,x); %画出关于x(1)和x(2)的系统时间响应曲线
U# m; R* b9 ]' ^0 `plot(x(:,1),x(:,2)) %画出关于x(1)和x(2)的系统相平面曲线
4 E2 P9 J: K. Y2 ]2 Gaxis([-1 1000,0 1000]) %限定区间
! B5 P N: Y- d* E2 B |: wtext(10,15,'B') %标注B点4 q6 c1 p( b r. y- K, n
text(1000,0,'A') %标注A点) m. l% R8 w1 W0 t5 o) \
xlabel('X')) {/ {, s5 Z- H9 B, o- k, B
ylable(‘Y’)- M5 r; M. F( ]! w3 b0 D
3 k% g, @' A, F$ j8 M1 \. h
, C6 \+ ~/ B d- z/ J7 Z6 s无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5。
8 `+ D. h( ~3 e, k( N- c( W
- G4 ?2 u, o! b% @) R& T+ S' w3 l8 Y出错 ode45 (line 488)
2 v: D% s( w6 G$ s
) l+ D8 D" E) L8 Z yout(:,idx) = yout_new; |
|