-
使用符號算術工具。
首先定義變數符號。 symss
xt;使用字串定義公式。
eq1diff(x,t)
eq2diff(s,t)
接下來是解決。
例如,如果現在需要求解 s,下面的 ** 可以給出 s 的表示式。
solution
solve(eq1,eq2,s);
接下來,評估該值。
首先為變數賦值。 x
在那之後。 result
eval(solution);
可以找到解決方案。
matlab
符號運算。
-
這意味著微分方程不顯示解,而是通過數值方法求解,例如 ODE45 等函式。
僅舉乙個例子(摘自 MATLAB 幫助文件)。
求解到低微分方程組中。
1.建立方程組函式。
function
dyrigid(t,y)dy
zeros(3,1);
acolumn
vectordy(1)
y(2)y(3);dy(2)
y(1)y(3);dy(3)
y(1)y(2);
2.求解和繪圖。
t,y]ode45(@rigid,[0
1]);plot(t,y(:,1),'-',t,y(:,2),'-.',t,y(:,3),'.'結果。
-
第一種方法:使用dsolve函式求微分方程的符號解(一般解):對於一些難度不是很大,需要一般解的微分方程,使用dsolve函式求解。
1. 開啟 MATLAB 軟體 -- >單擊“新建指令碼”選單以建立乙個用於編寫微分方程求解器的新指令碼檔案。
2.進入微分方程求解器-->點選儲存-->點選執行。
3. 您可以在 MATLAB 的命令視窗中看到求解結果,這是乙個關於引數 a 和 b 的表示式。
第二種方法:使用MATLAB中的求解函式(包括ODE45、ODE23、ODE15S等)求解微分方程的數值解,這種方法是最常用的方法,對於dsolve 函式難以求解的方程,方程的數值解可以用這種方法求解。
1. 開啟 MATLAB-->建立乙個用於編寫求解器的新指令碼檔案。
2. 在指令碼檔案中輸入求解器 -- >單擊 儲存 -- >單擊執行。
3.這裡需要寫乙個函式檔案來表示方程-->點選儲存-->寫求解器-->點選儲存-->點選執行。
4.您可以在圖頁上看到求解的微分方程的圖形。
-
如果用MATLAB求解受試者給出的微分方程組,則可以使用常微分方程函式獲得數值解。
求解過程:第一步是根據微分方程組自定義微分方程odefun(t,x)的功能
第二步是確定t的範圍,如tspan=[0 1];
第三步是確定初始條件,確定y0的初始值,即y0=[100,20];
第四步是利用常微分方程45函式得到其數值解,即
t,x] =ode45(@odefun,tspan,y0);
在第五步中,使用 plot 函式繪製 t-x(t) 和 t-y(t) 的圖形,即。
plot(t,x(:,1),t,x(:,2));
執行程式後,您可以得到以下結果。
-
對於廣義微分方程,可以使用 dsolve() 函式直接求微分方程的一般解。
例如,求以下微分方程的一般解。
求解**:syms y(t) a% 變數掩碼語句。
eqn = diff(y,t,2) =a*y;% 定義彎曲方程。
ysol(t) = dsolve(eqn) % 方程已解。
通過巨集,求解過程是富有成效的。
-
要在 MATLAB 中求微分方程的解,通常可以使用軟體自帶的 dsolve()、ode45() 和 bvp4c() 等函式。
在MATLAB中求解常微分方程有兩種方法:一種是符號解,另一種是數值解。 本科階段的微分數學問題基本上可以通過符號解來解決。
使用 MATLAB 求解常微分問題的符號解的關鍵命令是 dsolve 命令。
在此命令中,d 可用於表示微分符號,其中 d2 是二階微分,d3 是三階微分,依此類推。 值得注意的是,微分預設是自變數 t 的導數,在命令中可以很容易地更改為其他變數的導數。 ”
1.dsolve函式常用於求解,簡單的微分方程(群),如y=dsolve('dy=y-2*t*y','y(0)=1')
2.常利用ODE45函式求解初值問題的微分方程(群)的數值解,如func=@(t,y)y-2*t*y
t,y]=ode45(func,[0,40],1)
3.BVP4C函式常用於求解微分方程(組)的邊界值問題,如。
sol=bvp4c(odefun,bcfun,sinit)
4.此外,還可以編寫Euler(折線法)、Runge-Kutta(Runge-Kutta法)等來求解微分方程(群)。
-
這表明未顯示微分方程的解,應使用數值方法求解,例如 ODE45 等函式(來自 MATLAB 幫助文件)。
求解到低微分方程組中。
1.建立方程組函式。
function dy = rigid(t,y)dy = zeros(3,1); a column vector
dy(1) = y(2) *y(3);
dy(2) = -y(1) *y(3);
dy(3) = * y(1) *y(2);
2.求解和繪圖。
t,y] = ode45(@rigid,[0 12],[0 1 1]);
plot(t,y(:,1),'-',t,y(:,2),'-.',t,y(:,3),'.'結果。
-
下面的示例說明如何編寫微分方程組。
解決方案 1:按如下方式建立 M 檔案:
function dy=rigid(t,y)dy=zeros(3,1);
dy(1)=y(2)*y(3);
dy(2)=-y(1)*y(3);
dy(3)=;
2. 取 t0=0, tf=12,然後輸入命令:
t,y]=ode45('rigid',[0 12],[0 1 1]);
plot(t,y(:,1),'-',t,y(:,2),'*',t,y(:,3),'+')
在圖中,y1 的圖形是一條實線,y2 的圖形是一條“*”線,y3 的圖形是一條“+”線。
-
微分方程需要離散化。
微分方程的實際應用如下:
首先,從離散序列開始,定義序列的極限,是收斂還是發散,收斂序列的性質,收斂標準等。 >>>More