0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是微分代数方程?Matlab求解微分代数方程

冬至子 来源:算法工程师的学习日志 作者:搬砖工程师domi 2023-07-19 11:15 次阅读

什么是微分代数方程?

微分代数方程是一类微分方程,其中一个或多个因变量导数未出现在方程中。方程中出现的未包含其导数的变量称为代数变量,代数变量的存在意味着不能将这些方程记为显式形式 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

    文章

    174

    浏览量

    19639
  • MATLAB命令
    +关注

    关注

    0

    文章

    3

    浏览量

    4985
  • MATLAB函数
    +关注

    关注

    0

    文章

    4

    浏览量

    5143
  • 求解器
    +关注

    关注

    0

    文章

    77

    浏览量

    4426
收藏 人收藏

    评论

    相关推荐

    微分方程经典求解

    微分方程经典求解法 一个线性系统,其激励信号      &
    发表于 09-10 12:23

    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数值计算,主要是微分方程组的求解,可以尽快联系我,必有重谢。qq631467039
    发表于 02-26 17:03

    【下载】《工程与科学数值方法的MATLAB实现(第2版)》

    应用领域,具体包括求根与最优化、线性代数方程组的求解、曲线拟合、数值积分与微分以及常微分方程数值解。书中不但介绍了各类数值方法的基本原理和基于MAT
    发表于 08-28 17:27

    微分方程MAtLAB解法

    摘要:对一些不能求解解析解的常微分方程和偏微分方程进行精确求解是非常困难的,探讨了用MATLAB方法对此类
    发表于 01-08 21:24 61次下载

    含一般时延的高阶泛函微分方程的周期解

    研究了一类含有“一般”时延的高阶泛函微分方程的周期解问题,将原方程化为等价的泛函微分方程,并利用该等价泛函微分方程的特征方程,得到了原
    发表于 02-28 17:07 15次下载

    微分方程复习,常微分方程pdf

    微分方程复习,常微分方程pdf:微分方程的一般概念线性常微分方程的性质一阶线性常微分方程二阶线性常系数
    发表于 04-23 22:08 0次下载

    微分方程式的建立与求解

    微分方程式的建立与求解:复习求解系统微分方程的经典法物理系统的模型微分方程的列写n 阶线性时不变系统的描述
    发表于 09-30 19:30 0次下载

    使用阻极射线管的高次代数方程式解题机

    使用阻极射线管的高次代数方程式解题机
    发表于 05-01 01:20 1089次阅读
    使用阻极射线管的高次<b class='flag-5'>代数方程</b>式解题机

    Matlab微分、积分和微分方程

    微分、积分和微分方程4.1. 知识要点和背景:微积分学基本定理       4.2 实验与观察(Ⅰ):数值微积分4.2.1实验:积分定义、微分
    发表于 10-17 00:32 4452次阅读

    改进LS方法降维电力系统常微分方程的研究

    经典LS(Liapunov.Schmidt)方法将奇异点的某个邻域内高维代数方程组平衡,占的求解转化为低维代数方程组的求解问题.低维系统包含了原代数
    发表于 09-06 15:22 31次下载
    改进LS方法降维电力系统常<b class='flag-5'>微分方程</b>的研究

    进行线性代数方程组的数值实验资料说明

    矩阵计算是求解线性代数方程组最简单有效的方法。经典的线性代数教材中,对于矩阵运算都是基于手工推导的方法,为实现高阶矩阵的分析与计算,人们引入了计算机数学语言,更方便于求解高阶问题。
    发表于 11-26 15:07 4次下载

    微分方程的算子形式和拉普拉斯变换式之间的是什么关系?

    运算。现在为了方便计算, 把微分算自符号用p来代表,即令: 把积分算子用1/p来代表,即令: 于是有: 利用这样的符号,积分微分方程微分方程就可以用较为简化的形式写出。 或者仿照代数方程
    的头像 发表于 05-20 15:06 9097次阅读
    <b class='flag-5'>微分方程</b>的算子形式和拉普拉斯变换式之间的是什么关系?

    MATLAB数学实验第六章matlab求解微分方程.pdf

    主要介绍了用matlab方法求解初值问题和边值问题的常微分方程采用四阶龙格库塔法和欧拉法,含matlab代码
    发表于 12-30 11:01 0次下载