什么是微分代数方程?
微分代数方程是一类微分方程,其中一个或多个因变量导数未出现在方程中。方程中出现的未包含其导数的变量称为代数变量,代数变量的存在意味着不能将这些方程记为显式形式 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浏览量
19928 -
MATLAB命令
+关注
关注
0文章
3浏览量
5026 -
MATLAB函数
+关注
关注
0文章
4浏览量
5159 -
求解器
+关注
关注
0文章
77浏览量
4533
发布评论请先 登录
相关推荐
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
•4589次阅读
改进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次下载
评论