什么是微分代數(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) 來解算微分指數(shù)為1的線性隱式問題,包括以下形式的半顯式 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];
options=odeset('mass',M);
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')
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
MATLAB仿真
-
MATLAB命令
-
MATLAB函數(shù)
-
求解器
相關(guān)推薦
微分方程經(jīng)典求解法 一個(gè)線性系統(tǒng),其激勵(lì)信號(hào) &
發(fā)表于 09-10 12:23
Matlab偏微分方程工具箱應(yīng)用說明1. 概述本文只給出該工具箱的函數(shù)列表,讀者應(yīng)先具備偏微分方程的基本知識(shí),然后根據(jù)本文列出的函數(shù)查閱Matlab的幫助,便可掌握該工具箱的使用。2.
發(fā)表于 09-22 15:26
本帖最后由 A670521546 于 2011-7-8 10:29 編輯
常微分方程(ODEs)的MATLAB數(shù)值解法》偏微分方程(PDEs)的MATLAB數(shù)值解法》Z變換和差分
發(fā)表于 07-08 08:42
哪位大俠擅長做matlab數(shù)值計(jì)算,主要是微分方程組的求解,可以盡快聯(lián)系我,必有重謝。qq631467039
發(fā)表于 02-26 17:03
摘要:對(duì)一些不能求解解析解的常微分方程和偏微分方程進(jìn)行精確求解是非常困難的,探討了用MATLAB方法對(duì)此類
發(fā)表于 01-08 21:24
?61次下載
常微分方程復(fù)習(xí),常微分方程pdf:微分方程的一般概念線性常微分方程的性質(zhì)一階線性常微分方程二階線性常系數(shù)
發(fā)表于 04-23 22:08
?0次下載
微分方程式的建立與求解:復(fù)習(xí)求解系統(tǒng)微分方程的經(jīng)典法物理系統(tǒng)的模型微分方程的列寫n 階線性時(shí)不變系統(tǒng)的描述
發(fā)表于 09-30 19:30
?0次下載
使用阻極射線管的高次代數(shù)方程式解題機(jī)
發(fā)表于 05-01 01:20
?1157次閱讀
微分、積分和微分方程4.1. 知識(shí)要點(diǎn)和背景:微積分學(xué)基本定理 4.2 實(shí)驗(yàn)與觀察(Ⅰ):數(shù)值微積分4.2.1實(shí)驗(yàn):積分定義、微分
發(fā)表于 10-17 00:32
?4583次閱讀
經(jīng)典LS(Liapunov.Schmidt)方法將奇異點(diǎn)的某個(gè)鄰域內(nèi)高維代數(shù)方程組平衡,占的求解轉(zhuǎn)化為低維代數(shù)方程組的求解問題.低維系統(tǒng)包含了原代數(shù)
發(fā)表于 09-06 15:22
?31次下載
《MATLAB 揭秘》為學(xué)習(xí)這種功能強(qiáng)大的數(shù)學(xué)計(jì)算工具提供了高效的、啟發(fā)性的方法。 本書使用簡單易行的風(fēng)格,一開始介紹了 MATLAB 基礎(chǔ),你將學(xué)習(xí)到如何繪制圖象,求解代數(shù)方程及計(jì)算
發(fā)表于 03-20 16:47
?0次下載
《MATLAB 揭秘》為學(xué)習(xí)這種功能強(qiáng)大的數(shù)學(xué)計(jì)算工具提供了高效的、啟發(fā)性的方法。 本書使用簡單易行的風(fēng)格,一開始介紹了 MATLAB 基礎(chǔ),你將學(xué)習(xí)到如何繪制圖象,求解代數(shù)方程及計(jì)算
發(fā)表于 05-17 17:36
?36次下載
矩陣計(jì)算是求解線性代數(shù)方程組最簡單有效的方法。經(jīng)典的線性代數(shù)教材中,對(duì)于矩陣運(yùn)算都是基于手工推導(dǎo)的方法,為實(shí)現(xiàn)高階矩陣的分析與計(jì)算,人們引入了計(jì)算機(jī)數(shù)學(xué)語言,更方便于求解高階問題。
發(fā)表于 11-26 15:07
?4次下載
運(yùn)算。現(xiàn)在為了方便計(jì)算, 把微分算自符號(hào)用p來代表,即令: 把積分算子用1/p來代表,即令: 于是有: 利用這樣的符號(hào),積分微分方程或微分方程就可以用較為簡化的形式寫出。 或者仿照代數(shù)方程
發(fā)表于 05-20 15:06
?1.2w次閱讀
主要介紹了用matlab方法求解初值問題和邊值問題的常微分方程采用四階龍格庫塔法和歐拉法,含matlab代碼
發(fā)表于 12-30 11:01
?0次下載
評(píng)論