Matlab的ode45使用備忘

2021-10-25 00:01:28 字數 1381 閱讀 4672

function test_ode45

%calculate the motion in

20 secs

tspan =[0

20];%x=

4, v=

0 when t=

0x0 =[4

0];%

[t, x]

= ode45(@hamofun, tspan, x0)

;% plot(t,x)

;% hold on

[t, x]

= ode45(@dampfun, tspan, x0)

;plot(t,x)

;end

function xd=hamofun(t, x)

%example: hamonic motion

% ddot(x)

+w^2

*x=0%-

----

----

----

----

----

----

----

----

----

----

----

%xd(n)

: n th order derivative of x

xd=zeros(2,

1);%x(1)

-x; x(2)

-v: depend on input

xd(1

)=x(2)

;xd(2)

=-2^

2*x(1)

;end

function xd=dampfun(t, x)

%example: damped vibration

% ddot(x)

=-w^

2*x-a*v...

%---

----

----

----

----

----

----

----

----

----

----

--a=0.4

;xd=zeros(2,

1);xd(1)

=x(2);

xd(2)=

-2^2

*x(1

)-a*x(2)

;end

解了兩個方程,第乙個是諧振子,第二個是受迫振動,均為二階常微分方程。解之前設定初值,這是必須的。

我自己在寫微分方程時,變數替換的時候有些暈,知道其物理意義可能理解起來快一些:**中的x是兩列的矩陣,第一列x(1)是位移,第二列x(2)是速度;位移的一階導xd(1)是速度,二階導xd(2)是加速度。

plot(t,x)時自然畫出兩條曲線,一條是位移隨時間變化曲線,另一條是速度。

Lorzen混沌方程求解 ode45

ode45是matlab中的求解微分方程數值解的函式,使用語法為 t,y ode45 odefun,tspan,y0 t,y ode45 odefun,tspan,y0,options t,y,te,ye,ie ode45 odefun,tspan,y0,options sol ode45 odef...

一元二階 VS 二元一階 (ode45)

注意 t,y ode45 subfun,tspan,y0 t是變步長求解的時間 tspan是取樣時間 一元二階的程式 主程式 求解器 ode45 clear all close all clc y0 0 0 tspan 0 0.01 10 t,y ode45 subfun,tspan,y0 figu...

使用NBU的備份搭建備庫

最近有乙個搭建備庫的需求,該資料庫使用nbu進行備份,這樣的案例之前也做過,但這次遇到了下面的錯誤,折騰了很久沒有結果,最後關閉防火牆,問題得到了解決。channel ch04 reading from backup piece full u4qsp1ba 1 1.rman channel ch07...