MATLAB之微分方程求解(十一)

本文介绍了MATLAB中dsolve函数用于解决常微分方程的方法,包括基本调用格式、示例演示,并展示了如何求解两个具体微分方程。通过实例解析,学习者能掌握如何设置初始条件和使用附加选项获取解的结构数组。
摘要由CSDN通过智能技术生成

微分方程

微分方程一般表示未知函数、未知函数的导数与自变量的关系。

在MATLAB中,实现微分方程求解的命令为dsolve.其基本调用格式如下:

命令解释
S = dsolve(eqn)求解常微分方程
S = dsolve(eqn,cond)使用初始条件和边界条件来求解微分方程,cond为初始条件或者边界条件
S = dsolve(eqn,cond,Name,Value)一个或者多个名称指定的附加选项
Y = dsolve(eqns)求解常微分方程并返回包含解的结构数组
Y = dsolve(eqns,conds)使用初始条件和边界条件来求解微分方程并返回包含解的结构数组
Y = dsolve(eqns,conds,Name,Value)一个或者多个名称指定的附加选项

例1 求解 { D x = 6 y + 2 D y = − 3 x − 6 \left\{\begin{array}{l}D x=6y+2 \\ D y=-3x-6\end{array}\right. {Dx=6y+2Dy=3x6的解。

S = dsolve('Dx=6*y+2,Dy=-3*x-6');
disp([S.x,S.y])
[ (18^(1/2)*cos(18^(1/2)*t)*(C2 - (18^(1/2)*(6*cos(18^(1/2)*t) - 2^(1/2)*sin(18^(1/2)*t) + 6))/18))/3 + (18^(1/2)*sin(18^(1/2)*t)*(C1 - (18^(1/2)*(6*sin(18^(1/2)*t) + 2^(1/2)*cos(18^(1/2)*t) + 2^(1/2)))/18))/3, cos(18^(1/2)*t)*(C1 - (18^(1/2)*(6*sin(18^(1/2)*t) + 2^(1/2)*cos(18^(1/2)*t) + 2^(1/2)))/18) - sin(18^(1/2)*t)*(C2 - (18^(1/2)*(6*cos(18^(1/2)*t) - 2^(1/2)*sin(18^(1/2)*t) + 6))/18)]%逗号前面的部分为x的值,后面为解答出的y的值。

例2 求解 y ′ 2 − x y ′ + y = 0 y^{\prime 2}-x y^{\prime}+y=0 y2xy+y=0的t通解

y = dsolve('(Dy)^2-x*Dy+y=0','x') %求解方程的通解

y =   x^2/4

-C4^2 + x*C4

clf,
hold on
hy1 = ezplot(y(1),[-6,6,-4,8],1);%绘制图表的纵轴和横轴的宽度
set(hy1,'Color','r','LineWidth',5)
for k = -2:0.5:2
y2=subs(y(2),'C3',k);
ezplot(y2,[-6,6,-4,8],1)
end
hold off
box on
legend('奇解','通解','Location','Best')

ylabel('y')
title(['\fontsize{14}微分方程',' (y '')^2 -xy ''+y=0','的解'])

绘制结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值