DAE线性方程组求解求解求助

已有天涯账号?
这里是所提的问题,您需要登录才能参与回答。
"天涯问答"是天涯社区旗下的问题分享平台。在这里您可以提问,回答感兴趣的问题,分享知识和经历,无论您在何时何地上线都可以访问,此平台完全免费,而且注册非常简单。
MATLAB求解方程
y=0...8 y=0,25,10,15,20,25,30 求X 如何用插值法求解
09-10-21 & 发布
pMatlab中微分span href=&&方程的问题 1. Matlab能够处理什么样的span href=&&微分方程? 2. 可以从什么地方获得更多的指导与附加信息? 常问问题 3. 对ODE求解器的语法存在有些什么变化? 4. 如何减小ODE的阶次? 5. 如何解决时变(依赖时间的)ODEs? 6. 如何采用定时间步长(?Fixed Time Step)? 7. 如何利用随机微分方程? span href=&&例子 8. 方程span href=&&系统 9. 带边界值问题(Boundary Value Problem,BVP):管道流(?Channel Flow) 刚度(?Stiffness) 10. 什么是Stiffness? 11. 暗示(间接?Implicit)与明示(直接?Explicit)方法 12. 实例 span href=&&设置 13. 如何在解微分方程的时候改变设置? 14. 哪些设置span href=&&参数可以更改? 15. 如何将options当作函数利用? 微分--数方程与他们的索引(?Index) 16. Matlab中如何解决微分-代数方程系统? 第1节 Matlab能够处理什么样的微分方程? Matlab提供了解决包括解微分方程在内的各种类型问题的函数: 1. 常规微分方程(ODEs)的初始值问题 初值问题是用MATLAB ODE求解器解决的最普遍的问题。初始值问题最典型的是对非刚性度(?nonstiff)问题应用ODE45,对刚性度(?stiff)问题采用ODE15S。(对于stiffness的解释,请参照“什么是Stiffness”一节。) 2. 微分-代数方程(DAEs)的初值问题 在那些守恒定律规定一些span href=&&变量之间满足常数关系领域经常遇到这类问题。Matlab 可以用ODE15S 或者 ODE23T解决索引(index)为1的DAEs。(对于索引的解释,请参阅“DAEs与他们的索引”一章。) 3. 边界值问题(BVPs) 这种通常要求微分方程在两边都具有特殊的条件组成。尽管他们通常不象IVPs那样经常遇到,但是他们也是工程应用中比较常见的问题。可以利用函数BVP4C来解决这类问题。 4. 时延微分方程(DDEs) 这类微分方程包含了独立变量的延迟。他们在生物与化学模型这类大量的应用中遇到,可以通过DDE23来解决这类问题。 5. 偏微分方程(PDEs) 采用PDEPE可以解决一维时空的抛物面与椭圆方程的初值、边界值的问题。而那些对更加多的一般的偏微分方程感兴趣的可以利用PDE工具箱。 更多的span href=&&matlab的综合应用技术的信息请参阅Solution8314。 更多的有关matlab采用的各种求解器的span href=&&算法的信息请查看下面的URLs: ● ODE 函数 ● BVP 函数 ● DDE 函数 ● PDE 函数 第2节 可以从什么地方获得更多的指导与附加信息? 可以从MATLAB Center、网站的新闻组、span href=&&文件交换点可以获得一系列span href=&&资料,可以进一步解释MATLAB解决各种方程(ODE,DAE,BVP,DDE)的求解器的算法和使用。你可以下载各种方程的文章与手册,他们通常带有大量的实例。 可以从 matlab自带的帮助文件的 Mathematics|Differential Equations下找到使用指导。 Cleve Moler的《Numerical Computing with MATLAB》的第七章详细讨论了OEDs的解法,并附带有大量的实例与简单的问题练习。 第3节 对ODE求解器的语法存在有些什么变化? 在MATLAB6.5(R13)中应用ODE求解器求解的首选语法是: [t,y]=odesolver(odefun,tspan,y0,options,parameter1,parameter2,…,parameterN); odesolver 是你采用的求解器,例如ODE45或者ODE15S。odefun是微分方程的span href=&&定义函数,所以odefun定义独立参数(典型的是时间t)的导数y‘ 以及y和其他的参数。在MATLAB6.5(R13)中,推荐使用函数句柄作为odefun。 例如,ode45(@xdot,tspan,y0),而不是用 ode45('xdot',tspan,y0)。 请看采用函数句柄的好处的文档: 采用函数句柄传递你定义MATLAB求解器计算的量、例如大规模span href=&&矩阵或者Jacobian模式的函数。 如果你喜好采用字符串儿传递你的函数,matlab求解器将回溯匹配。 在老的matlab版本里,通过传递标志来规定求解器的状态和恰当的计算。在MATALB6.0以及其后的版本中,这就没有必要了,可以从matlab自带的文档中发现这个差别。 如果里采用的matlab的ODE求解器的老的语法,你可以看看我们FTP站点上的各种求解器的老的实例: a rel=&nofollow& href=&& target=&_blank& 前面的站点包含了BVP,DAE与DDE这三个方向的采用老的语法的实例。你可以在下面的站点中找到应用ODE45与ODE23的实例: a rel=&nofollow& href=&& target=&_blank& 你可以在MATLAB Center的文件交换站点查看这些例子的更新版本。 第4节 如何减小ODE的阶次? 求解一阶ODE的代码是很直接的。然而,二阶或者三阶的ODE不能够直接应用求解。你必须先将高阶的ODE改写成一阶的ODEs系统,使得它可以采用MATLAB ODE求解器。 这是一个如何将二阶微分方程改写成两个一阶微分方程以便利用MATLAB的诸如ODE45等求解器求解的例子。下面的方程组包含了一个一阶与一个二阶微分方程: x'= - y*exp(-t/5)+y' * exp(-t/5)+1; (1) y''= -2*sin(t); (2) 第一步是引入一个新的变量,使得它等于具有二阶导数的自由变量的一阶导数: z=y' (3) 对上式两边求导如下: z' = y'' ; (4) 将(4)式带入(2)式得到如下方程: z'= -2*sin(t) (5) 联立(1),(3)与(5)得到三个一阶微分方程: x'= - y*exp(-t/5)+y' * exp(-t/5)+1; (1) z=y'; (3) z'= -2*sin(t) (5) 既然 z=y' ,用z代替等式(1)中的y' 。而且,因为MATLAB要求所有的导数项在左边,改写等式(3)。得到如下的方程组: x'= - y*exp(-t/5)+z* exp(-t/5)+1; (1a) y'= (6a) z'= -2*sin(t); (5a) 为了利用ODE45或者是MATLAB的其他的ODE求解器求解上面的方程组,需要建立一个包含这些微分方程的函数。这个函数需要两个输入:状态量与时间,返回状态的微分,建立命名为odetest.m的函数如下: function xprime=odetest(t, x) % 既然状态量以单个向量的形式输入,我们令: % x(1)=x; % x(2)=y; % x(3)=z; xprime(1)=-x(2)* exp(-t/5)+x(3)*exp(-t/5)+1; % x'= - y*exp(-t/5)+z* exp(-t/5)+1; xprime(2)=-x(3); % y'=z xprime(3)=-2×sin(t); % z'= -2*sin(t) xprime=xprime(:); % 这是为了确保返回的是个列向量 采用ODE23或者另外的MATLAB ODE求解器求解方程系统,定义起始和停止时间以及初识的状态向量。例如: t0 = 5 ; % 起始时间 tf = 20 ; % 停止时间 x0 = [1 –1 3] ; % 初识条件 [t , s] = ode23 ( @odetest, [t0 ,tf ], x0) ; x = s (: , 1 ); y = s (: , 2 ); z = s (: , 3 ); 求解span href=&&结果作图如下:/p
请登录后再发表评论!查看: 1557|回复: 7|关注: 0
DAE方程求解求助
<h1 style="color:# 麦片财富积分
新手, 积分 10, 距离下一级还需 40 积分
方程如图片所示类型,现有的matlab 求解器 能求解吗?
我用的ode15s&&ode23t,结果总提示:
This DAE appears to be of index greater than 1.
论坛优秀回答者
<h1 style="color:#46 麦片财富积分
关注者: 294
M=[1 0 0 0 0
& & 0 1 0 0 0
& & 0 0 1 0 0
& & 0 0 0 1 0
& & 0 0 0 0 0];
options=odeset('mass',M);
odefun=@(t,y)[y(2)*y(5)+y(4);
& & y(1);
& & y(4)^2-y(2)*y(5);
& & y(3);
& & y(2)+2*y(4)-3];
tspan=[0,1];
x0=[0,1,0,1,1]
[t,y]=ode15s(odefun,tspan,x0,options)复制代码
跟你报一样的错误,不知道怎么回事
用mathematica能算出结果:
<h1 style="color:# 麦片财富积分
跟你报一样的错误,不知道怎么回事
用mathematica能算出结果:
谢谢你,辛苦了~。估计这种类型的方程matlab没有现成的求解方法。
<h1 style="color:# 麦片财富积分
个人理解:用matlab求解器解DAE方程组时,需要先对方程组进行降阶和降次。对此matlab有专门的处理方法。具体过程详见help中的Solve DAE Systems Using MATLAB ODE Solvers(直接在help中输入DAE就可以找到)。因此,不能自己“随意”构造方程组。
论坛优秀回答者
<h1 style="color:#6 麦片财富积分
关注者: 11
个人之前看了一下关于DAE的简单问题,凑个热闹。
原方程是一个典型的index-2 DAE系统,即代数方程不含有非微分变量x_3,而我没记错的话Matlab自带的求解器好像只能计算index&2的DAE方程,不确定有没有别的工具箱可用。
而事实上index-1 DAE方程只需要对代数项进行一次微分就可以简单的降阶为ODE方程,所以也很容易计算。对于index&1的DAE方程解法好像还挺多的,例如用正交配置点法进行差分转化为方程组求解~
<h1 style="color:# 麦片财富积分
function dy=aabb(t,y)
dy=zeros(5,1);
y(1)=3-2*y(2);
dy(1)=y(4);
dy(2)=y(5);
dy(4)=y(1)*y(3)+y(2);
dy(5)=y(2)^2-y(1)*y(3);
[T,Y]=ode15s('aabb',[0 10],[1 1 1 0 0])
<h1 style="color:# 麦片财富积分
plot(Y),获得 x2=1=x3;x5=0;x1& &x3 自己看曲线。
<h1 style="color:# 麦片财富积分
[x1,x2,x3,x4,x5]=dsolve('x1+2*x2-3=0,Dx1=x4,Dx2=x5,Dx4=x1*x3+x2,Dx5=x2^2-x1*x3','x1(0)=1,x2(0)=1,x3(0)=1,x4(0)=0,x5(0)=0','t')
站长推荐 /2
Powered byModelica软件中微分代数方程指标约简算法分析
&#12288;&#12288;Modelica建模软件会产生高指标的微分代数方程(DAE),因为现有数值求解器一般不能直接对高指标DAE进行求解,所以Modelica建模软件必须对高指标DAE进行指标约简。为提高Modelica建模软件性能,针对现有指标约简算法,展开了理论分析和实验比较,着重对负权二部图算法进行了详细分析,并给出了负权二部图算法的时间复杂度。理论分析和实验结果表明,负权二部图算法相对Pantelides算法有较好的性能,因此可以考虑在Modelica建模软件中使用负权二部图算法来提高性能。……
[关键词]:;;;;
[文献类型]:期刊
[文献出处]:《》
中国知网客户端
海量文章,一站下载
万千书刊,个性订阅扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
微分方程中,偏微分方程pde、微分代数方程dae和常微分方程ode之间有什么区别和联系呢?本身不是数学专业的,问的可能会比较业余,但真心希望懂的人能指点一二!PS:从手头查阅的资料,常微分方程一般是一个方程对应一个自变量,一个未知数;偏微分方程是一个方程对应多个自变量(因此采用偏导数)和一个未知量.不知理解是否有误?但从网上搜到关于微分代数方程(dae)的资料比较少,没有直观印象
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
你关于常微分方程和偏微分方程的理解是对的:通俗地讲,常微分方程和偏微分方程的解都是某一个、或某一系列函数,他们的区别是常微分方程的解是一元函数(只有一个自变量和一个因变量),而偏微分方程的解是多元函数(有两个或以上的自变量和一个因变量,故其导函数是偏导数).例如( y - 2xy)y'‘ + x&sup2;y'+y&sup2;-x&sup3;= 0是常微分方程 (其中y为x的函数). x&sup2;U‘’xx+U’‘yy+U’'xy+U'y-y&sup3;U+xy=0是偏微分方程(U是x,y的函数)微分代数方程就是几个微分方程和纯代数方程(没有导数)组成的一个方程组.例如:x&sup2;U‘’xx+U’‘yy+U’'xy+U'y-y&sup3;U+xy=0xU&sup2;+yU-xy&sup2;=0以上两个方程合起来称为微分代数方程,和微分方程一样,代数微分方程很少有解析解.
为您推荐:
其他类似问题
扫描下载二维码Differential Equation Solving with DSolve&Wolfram Language Documentation
OVERVIEWDifferential Equation Solving with DSolveOrdinary Differential Equations (ODEs)
First-Order ODEs
Linear Second-Order ODEs
Higher-Order ODEs
Systems of ODEs
Partial Differential Equations (PDEs)
First-Order PDEs
Differential-Algebraic Equations (DAEs)
Initial and Boundary Value Problems
Working with DSolve&#8212;A User&#8217;s Guide
Give Feedback
Please complete this field.
Name (optional)
Email address (optional)
Translate this page
Enable JavaScript to interact with content and submit forms on Wolfram websites.}

我要回帖

更多关于 一元二次方程求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信