|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 h6 h+ c7 ?" s( u8 M% V8 b* A% `% O# @: E. B
请教大神,这个是为什么呢??ode45 无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5?非常感谢!( ^2 M6 l A n/ `. O
2 M; b Q, X B, _
function f=boat1(t,x)
& j6 X- ~* o! ]* \8 H1 dif(norm(x)>1e-5) %限制条件,保证在x足够小的情况下可以结束计算/ |- E$ t; S: ]' V8 \5 U9 q
f=[-2*x(1)/sqrt(x(1).^2+x(2).^2);1-2*x(2)/sqrt(x(1).^2+x(2).^2)]+ P2 G; \' ^' `: x* k5 B0 v$ z
else& o% C2 L* ]6 n- R* x( R; ^- U. d
f=[0,0]
+ I% O5 X i0 ^( V- B
( d: i3 J9 C' l i/ [end& F- V6 w) @! q% B
, J% j4 o# ~' I: C, c, K h9 {
2 a( D6 o) ?0 G9 I; ^/ gy0=[1000 0]; %微分方程的初值
" _) o! f( M3 l# f- _. M[t,x]=ode45(@boat1,[0,1000],y0) %求解微分方程的数值解# @3 \% {: g% F2 X# `9 e9 y$ T
subplot(1,2,1),plot(t,x); %画出关于x(1)和x(2)的系统时间响应曲线
; j' a3 B4 m* y& @plot(x(:,1),x(:,2)) %画出关于x(1)和x(2)的系统相平面曲线
' e) ? G* V- y a8 ^% aaxis([-1 1000,0 1000]) %限定区间2 t$ a( I+ N, O& v
text(10,15,'B') %标注B点
& O' c" v A& B& |- u btext(1000,0,'A') %标注A点
" i8 U- b0 `4 y$ c, @# Mxlabel('X')
[( r( w6 O3 a3 N$ x1 P( l& P, J3 ^0 mylable(‘Y’)
6 G5 i0 I. @2 Y4 s" k& ~8 f9 g8 ~/ a- u' j7 |; e
( W9 x1 j3 t6 J* {1 n1 ?
无法执行赋值,因为左侧的大小为 2×4,右侧的大小为 2×5。! a/ v, K; w1 B( u
+ E& j, B5 g d b2 n1 ^出错 ode45 (line 488)0 Q" p/ v/ C8 \9 [/ ]
% j2 I& C! y& }, ~1 X { yout(:,idx) = yout_new; |
|