什么是微分代數方程?
微分代數方程是一類微分方程,其中一個或多個因變量導數未出現在方程中。方程中出現的未包含其導數的變量稱為代數變量,代數變量的存在意味著不能將這些方程記為顯式形式 y′=f(t,y)。
ode15s 和 ode23t 求解器可以使用奇異質量矩陣 M(t,y)y′=f(t,y) 來解算微分指數為1的線性隱式問題,包括以下形式的半顯式 DAE
y′0=f(t,y,z)
0 =g(t,y,z)
在此形式中,由于主對角線存在一個或多個零值,因此代數變量的存在會產生奇異質量矩陣。
默認情況下,求解器會自動檢驗質量矩陣的奇異性,以檢測 DAE 方程組。如果提前知道奇異性,則可將 odeset 的 MassSingular 選項設為 'yes'。對于 DAE,還可以使用 odeset 的 InitialSlope 屬性為求解器提供 y′(0) 的初始條件估計值。
舉個例子
其中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]; % 質量矩陣
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仿真
+關注
關注
4文章
176瀏覽量
19929 -
MATLAB命令
+關注
關注
0文章
3瀏覽量
5026 -
MATLAB函數
+關注
關注
0文章
4瀏覽量
5167 -
求解器
+關注
關注
0文章
77瀏覽量
4535
發布評論請先 登錄
相關推薦
Matlab偏微分方程工具箱應用說明
Matlab偏微分方程工具箱應用說明1. 概述本文只給出該工具箱的函數列表,讀者應先具備偏微分方程的基本知識,然后根據本文列出的函數查閱Matlab的幫助,便可掌握該工具箱的使用。2.
發表于 09-22 15:26
Matlab求解微分方程(ODEs/PDEs)
本帖最后由 A670521546 于 2011-7-8 10:29 編輯
常微分方程(ODEs)的MATLAB數值解法》偏微分方程(PDEs)的MATLAB數值解法》Z變換和差分
發表于 07-08 08:42
Matlab的微分、積分和微分方程
微分、積分和微分方程4.1. 知識要點和背景:微積分學基本定理 4.2 實驗與觀察(Ⅰ):數值微積分4.2.1實驗:積分定義、微分
發表于 10-17 00:32
?4590次閱讀
改進LS方法降維電力系統常微分方程的研究
經典LS(Liapunov.Schmidt)方法將奇異點的某個鄰域內高維代數方程組平衡,占的求解轉化為低維代數方程組的求解問題.低維系統包含了原代數
發表于 09-06 15:22
?31次下載
Matlab揭秘PDF中文版電子書免費下載
《MATLAB 揭秘》為學習這種功能強大的數學計算工具提供了高效的、啟發性的方法。 本書使用簡單易行的風格,一開始介紹了 MATLAB 基礎,你將學習到如何繪制圖象,求解代數方程及計算
發表于 03-20 16:47
?0次下載
Matlab揭秘PDF電子書免費下載
《MATLAB 揭秘》為學習這種功能強大的數學計算工具提供了高效的、啟發性的方法。 本書使用簡單易行的風格,一開始介紹了 MATLAB 基礎,你將學習到如何繪制圖象,求解代數方程及計算
發表于 05-17 17:36
?36次下載
進行線性代數方程組的數值實驗資料說明
矩陣計算是求解線性代數方程組最簡單有效的方法。經典的線性代數教材中,對于矩陣運算都是基于手工推導的方法,為實現高階矩陣的分析與計算,人們引入了計算機數學語言,更方便于求解高階問題。
發表于 11-26 15:07
?4次下載
微分方程的算子形式和拉普拉斯變換式之間的是什么關系?
運算。現在為了方便計算, 把微分算自符號用p來代表,即令: 把積分算子用1/p來代表,即令: 于是有: 利用這樣的符號,積分微分方程或微分方程就可以用較為簡化的形式寫出。 或者仿照代數方程
MATLAB數學實驗第六章matlab求解常微分方程.pdf
主要介紹了用matlab方法求解初值問題和邊值問題的常微分方程采用四階龍格庫塔法和歐拉法,含matlab代碼
發表于 12-30 11:01
?0次下載
評論