微分方程求解
函式求導
參考文獻
tic**
toc用於計算**執行時間
用於解微分方程
y=
dsolve
('m*d2y+k*y=0'
,'x'
)//無初始條件
y=dsolve
('m*d2y+k*y=0'
,'dy(0)=0'
,'y(0)=x0'
,'x'
)//有初始條件
** 注:d必須大寫,如果需要解方程組則
[y1,y2]
=dsolve
('m*d2y+k*y=0'
,'m*d2y+k*x=0'
,'x'
)
1)ode45的函式格式
[t,y] = ode45(@function,tspan,y0)
[t,y] = ode45(@function,tspan,y0,options)
[t,y,te,ye,ie] = ode45(@function,tspan,y0,options)
sol = ode45(@function,[t0 tf],y0…)
其中: function是函式控制代碼,可以是函式檔名,匿名函式控制代碼或內聯函式名;
tspan 是求解區間 [t0 tf],或者一系列散點[t0,t1,…,tf],採用一系列散點只會返回相應的點的值;
y0 是初始值向量;
options 是求解引數設定,可以用odeset在計算前設定誤差,輸出引數,事件等
t返回列向量的離散點;
y 返回對應t的求解列向量;
te 事件發生時間
ye 事件發生時之答案
ie 事件函式消失時之指標i
在進行ode計算時,需要首先對微分方程進行變數轉換,需要將微分方程轉換先轉換為顯示微分方程
下面以例項來說明轉換步驟
step 1
將微分方程的最高項移動到等式右邊,然後將其他項都放在等式右邊
如:微分方程1:
需要轉換為
step2
為除最高端外的多項式選擇相應的狀態參量
針對上述方程式:
x』』『無需選擇狀態參量
其餘引數狀態參量分別為
x0=x;
x1=x』;
x2=x』』;
step3
根據上述參量及原微分方程寫出新的一階狀態參量表示式
x0『=x1;
x1』=x2;
x2』=1/a(x2+3x1-5x-3);
利用轉換好的狀態參量表示式來寫function,然後採用ode45計算
針對原子自發輻射的經典模型,考慮輻射對電子的反作用力,可以得出電子的運動方程為
m為電子質量
x為電子偏離平衡位置的位移
w0為諧振頻率
γ稱為經典阻尼係數
e為電荷量
ε0為真空介電常數
c為光速
針對上述簡諧振子模型,進行ode中function的編寫
function x=harmonicoscillator(y,t)
r=2;
w0=3;
% r 為經典輻射阻尼係數,wo為諧振頻率,此時隨意賦了兩個值
x=[ t(2)
; -r*t(2)+w0*t(1)];
end
x0=
[1,0]
; % 隨意賦得初值
options=odeset(
'reltol',1e-8)
;tic
[t,xt1]
=ode45(@harmonicoscillator,[0,20],x0,options)
tocplot(xt1(:,1),t)
;
diff()函式是matlab的符號函式求導。
diff()使用說明:
diff(s,『v』)——對表示式s中指定符號變數v,計算s的一階導數
diff(s,『v』,n)——對表示式s中指定符號變數v,計算s的n階導數
diff()應用例項
對於顯函式的導數,如y=6x3-4x2+x-5
diff(
'6x^3-4x^2+x-5'
) %求y的一階導數
diff(
'6x^3-4x^2+x-5',2) %求y的二階導數
對於隱函式的導數,如z=sin(x2)*y2
syms x y
diff(sin(x^2)*y^2,2) %求z對x的二階偏導數
對於引數方程的導數,如y=1-t4,x=1+t2
syms x y t
dy=diff(1-t^4) %求y對t的一階導數
dx=diff(1+t^2) %求x對t的一階導數
dydx=dy/dx
t=sqrt(x-1),eval(dydx) %求y對x的一階導數
參考文件 matlab解微分方程
1.dsolve函式 這是最簡單的一種求解微分方程的一種方法 符號解法。一般來說,在matlab中解常微分方程有兩種方法,一種是符號解法,另一種是數值解法。在本科階段的微分數學題,基本上可以通過符號解法解決。用matlab解決常微分問題的符號解法的關鍵命令是dslove命令。該命令中可以用d表示微分...
解方程及微分方程 MATLAB
x1,x2,x3,solve eq1 eq2 eq3 x1 x2 x3 s solve eq1 eq2 eq3 x1 x2 x3 第一種方式,對solve的括號中的x1,x2,x3的次序會有要求 與前面的一致 第二種無要求。eq都是等式,不是表示式。最好都打引號,不打引號也可以,但是一定要預先用sy...
微分方程 微分方程 高階微分方程組理論
附 微分方程的分類 常微分方程和偏微分方程。1 常微分方程 ode 是指微分方程的自變數只有乙個的方程。最簡單的常微分方程,未知數是乙個實數或是複數的函式,但未知數也可能是乙個向量函式或是矩陣函式,後者可對應乙個由常微分方程組成的系統。2 偏微分方程 pde 是指微分方程的自變數有兩個或以上,且方程...