什么是微分代數(shù)方程?
微分代數(shù)方程是一類微分方程,其中一個(gè)或多個(gè)因變量導(dǎo)數(shù)未出現(xiàn)在方程中。方程中出現(xiàn)的未包含其導(dǎo)數(shù)的變量稱為代數(shù)變量,代數(shù)變量的存在意味著不能將這些方程記為顯式形式 y′=f(t,y)。
ode15s 和 ode23t 求解器可以使用奇異質(zhì)量矩陣 M(t,y)y′=f(t,y) 來(lái)解算微分指數(shù)為1的線性隱式問(wèn)題,包括以下形式的半顯式 DAE
y′0=f(t,y,z)
0 =g(t,y,z)
在此形式中,由于主對(duì)角線存在一個(gè)或多個(gè)零值,因此代數(shù)變量的存在會(huì)產(chǎn)生奇異質(zhì)量矩陣。
默認(rèn)情況下,求解器會(huì)自動(dòng)檢驗(yàn)質(zhì)量矩陣的奇異性,以檢測(cè) DAE 方程組。如果提前知道奇異性,則可將 odeset 的 MassSingular 選項(xiàng)設(shè)為 'yes'。對(duì)于 DAE,還可以使用 odeset 的 InitialSlope 屬性為求解器提供 y′(0) 的初始條件估計(jì)值。
舉個(gè)例子
其中x1(0)=0.8;x2(0)=x3(0)=0.1;
1)方程寫成DAE形式
2)編程求解
%%
clc
clear
close all
odefun = @(t,x)[-0.2*x(1)+x(2)*x(3)+0.3*x(1)*x(2);
2*x(1)*x(2)-5*x(2)*x(3)-2*x(2)^2;
x(1)+x(2)+x(3)-1]; %微分方程
M = [1 0 0;0 1 0;0 0 0]; % 質(zhì)量矩陣
options=odeset('mass',M); % 定義mass屬性
x0=[0.8;0.1;0.1];
[t,x]=ode15s(odefun,[0 10],x0,options);
figure
plot(t,x(:,1),t,x(:,2),t,x(:,3))
grid on
legend('x1','x2','x3')
-
MATLAB仿真
+關(guān)注
關(guān)注
4文章
176瀏覽量
20281 -
MATLAB命令
+關(guān)注
關(guān)注
0文章
3瀏覽量
5089 -
MATLAB函數(shù)
+關(guān)注
關(guān)注
0文章
4瀏覽量
5231 -
求解器
+關(guān)注
關(guān)注
0文章
79瀏覽量
4703
發(fā)布評(píng)論請(qǐng)先 登錄
Matlab偏微分方程工具箱應(yīng)用說(shuō)明
Matlab求解微分方程(ODEs/PDEs)
微分方程組求解
常微分方程的MAtLAB解法
常微分方程復(fù)習(xí),常微分方程pdf
微分方程式的建立與求解
Matlab的微分、積分和微分方程
改進(jìn)LS方法降維電力系統(tǒng)常微分方程的研究

Matlab揭秘PDF中文版電子書免費(fèi)下載

Matlab揭秘PDF電子書免費(fèi)下載

進(jìn)行線性代數(shù)方程組的數(shù)值實(shí)驗(yàn)資料說(shuō)明
微分方程的算子形式和拉普拉斯變換式之間的是什么關(guān)系?

評(píng)論