• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab——微分方程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

@


前言

本文将介绍如何用matlab求解一阶常微分方程(组)的特解,通解。
如果你对微分方程的常见解法感兴趣,可以参考这篇文章常微分方程的常见题型与解法


一、常微分方程

在matlab中,命令dsolve专用于求解微分方程的符号解,格式如下:

\[[y_1,...,y_N]=dsolve(eqns,conds,name,value) \]

\(eqns\)为符号微分方程或符号微分方程组;\(conds\)为初值条件或边值条件;\(name\)\(value\)为可选的成对参数。

\(eg.\)试求微分方程

\[y\'\'\'-y\'\'=x,y(1)=8,y\'(1)=7,y\'\'(2)=4 \]

code:

syms y(x);	//定义符号变量
dy=diff(y);d2y=diff(y,2);	//求导
y=dsolve(diff(y,3)-diff(y,2)==x,y(1)==8,dy(1)==7,d2y(2)==4);
y=simplify(y)	//化简

二、常微分方程组

1.普通常微分方程组

\(eg.\)

\[y= \begin{cases} f\'\'+3g= sinx\\ g\'+f\'=cosx \end{cases} \]

code:

syms f(x) g(x);
df=diff(f);
[f1,g1]=dsolve(diff(f,2)+3*g==sin(x),diff(g)+df==cos(x),df(2)==0,f(3)==3,g(5)==1);
f1=simplify(f1),g1=simplify(g1)

2.线性常微分方程组

\(eg.\)

\[X\'= \left( \begin{matrix} 1 & 0 & 0\\ 2 & 1 & -2 \\ 3 & 2 & 1 \end{matrix} \right) X+ \left( \begin{matrix} 0\\ 0\\ e^tcos2t \end{matrix} \right),X(0)= \left( \begin{matrix} 0\\ 1 \\ 1 \end{matrix} \right) \]

code:

syms x(t) y(t) z(t)
X=[x;y;z];
A=[1,0,0;2,1,-2;3,2,1];
B=[0;0;exp(t)*cos(2*t)];
X0=[0;1;1];
X=dsolve(diff(X)==A*X+B,X(0)==X0);
X=simplify([X.x;X.y;X.z]) %显示各个解的分量
pretty(X) %分数线居中的显示方式

参考书目

《数学建模算法与应用》


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python for delphi教程发布时间:2022-07-18
下一篇:
Mathlab编程-微积分在Matlab中的解法 - 在苏州的城边发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap