求微分方程的特解matlab_二阶微分方程求解

求微分方程的特解matlab_二阶微分方程求解求解微分方程

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

desolve函数

S = dsolve(eqn)求解微分方程eqn,其中eqn是符号方程。使用diff和==来表示微分方程。例如,diff(y,x) == y表示方程dy / dx  =  y。通过指定 eqn为这些方程的向量来求解微分方程组。

S = dsolve(eqn,cond)eqn用初始或边界条件求解cond。

S = dsolve(___,Name,Value) 使用由一个或多个Name,Value对参数指定的附加选项。

[y1,...,yN] = dsolve(___)将解分配给变量y1,...,yN。

Jetbrains全家桶1年46,售后保障稳定

求解y关于什么的函数就要声明为y (x) ,必须使用syms来声变量, 否则会被警告

实例1

d d x y ⁡ ( t ) = − 3 y ⁡ ( t ) \frac{d}{
{dx}}\operatorname{y} \left( t \right) = – 3\operatorname{y} \left( t \right)
dxdy(t)=3y(t)

%案例一
clear all
clc
syms y(t); 
eqn=diff(y,t) == -3*y
F=dsolve(eqn)
latex(F)

在这里插入图片描述
C 1   e − 3   t C_{1}\,{\mathrm{e}}^{-3\,t} C1e3t

实例2

%案例二
clear all
clc
syms y(t) a
eqn = diff(y,t) == a*y
S = dsolve(eqn)

结果和上面相似

实例3

d d x y ⁡ ( t ) = 3 x 2 \frac{d}{
{dx}}\operatorname{y} \left( t \right) = 3{x^2}
dxdy(t)=3x2

%案例三
clear all
clc
syms y(t) x
eqn=diff(y,t)==3*x^2
F=dsolve(eqn) 
latex(F)

在这里插入图片描述
3   t   x 2 + C 1 3\,t\,x^2+C_{1} 3tx2+C1

实例4

d 2 d x 2 y ⁡ ( t ) = a y ⁡ ( t ) \frac{
{
{d^2}}}{
{d{x^2}}}\operatorname{y} \left( t \right) = a\operatorname{y} \left( t \right)
dx2d2y(t)=ay(t)

%二阶案例一
clear all
clc
syms y(t) a
eqn = diff(y,t,2) == a*y
ySol(t) = dsolve(eqn)
latex(ySol(t))

在这里插入图片描述
C 1   e − a   t + C 2   e a   t C_{1}\,{\mathrm{e}}^{-\sqrt{a}\,t}+C_{2}\,{\mathrm{e}}^{\sqrt{a}\,t} C1ea
t
+
C2ea
t

求解有条件的微分方程

d y d t = z d z d t = − y \begin{gathered} \frac{
{dy}}{
{dt}} = z \\ \frac{
{dz}}{
{dt}} = – y \\ \end{gathered}
dtdy=zdtdz=y

%有条件的微分方程
clear all
clc
syms y(t) z(t)
eqns = [diff(y,t) == z, diff(z,t) == -y]
S = dsolve(eqns)

dsolve返回一个包含解的结构
在这里插入图片描述

%有条件的微分方程案例1
clear all
clc
syms y(t) z(t)
eqns = [diff(y,t) == z, diff(z,t) == -y]
S = dsolve(eqns)
ySol(t) = S.y
zSol(t) = S.z

在这里插入图片描述
C 1   cos ⁡ ( t ) + C 2   sin ⁡ ( t ) C_{1}\,\cos\left(t\right)+C_{2}\,\sin\left(t\right) C1cos(t)+C2sin(t)
C 2   cos ⁡ ( t ) − C 1   sin ⁡ ( t ) C_{2}\,\cos\left(t\right)-C_{1}\,\sin\left(t\right) C2cos(t)C1sin(t)
( ∂ ∂ t y ⁡ ( t ) = 4 z ⁡ ( t )   ∂ ∂ t z ⁡ ( t ) = − 3 y ⁡ ( t ) ) \left( {\frac{\partial }{
{\partial t}}\operatorname{y} \left( t \right) = 4\operatorname{z} \left( t \right)\,\frac{\partial }{
{\partial t}}\operatorname{z} \left( t \right) = -3\operatorname{y} \left( t \right)} \right)
(ty(t)=4z(t)tz(t)=3y(t))

%有条件的微分方程案例2
clear all
clc
syms y(t) z(t)
eqns = [diff(y,t) == 4*z, diff(z,t) == -3*y]
S = dsolve(eqns)
ySol(t) = S.y
zSol(t) = S.z

在这里插入图片描述
其实也可以直接用

%输出分配
[ySol(t),zSol(t)] = dsolve(eqns)

在这里插入图片描述

微分方程显示隐式解

∂ ∂ x y ⁡ ( x ) = e − y ⁡ ( x ) + y ⁡ ( x ) \frac{\partial }{
{\partial x}}\operatorname{y} \left( x \right) = {e^{ – \operatorname{y} \left( x \right)}} + \operatorname{y} \left( x \right)
xy(x)=ey(x)+y(x)

%这里我们设置"Inplicit"为True
sol = dsolve(eqn,'Implicit',true)
%求微分方程的显式和隐式解
clear all
clc
syms y(x)
eqn = diff(y) == y+exp(-y)
sol = dsolve(eqn)
sol = dsolve(eqn,'Implicit',true)

在这里插入图片描述

未找到显式解决方案时查找隐式解决方案

∂ ∂ t y ⁡ ( x ) = y ⁡ ( x ) + a y ⁡ ( x ) \frac{\partial }{
{\partial t}}\operatorname{y} \left( x \right) = \operatorname{y} \left( x \right) + \frac{a}{
{\sqrt {\operatorname{y} \left( x \right)} }}
ty(x)=y(x)+y(x)
a

同时我们已知 y ( a ) = 1 y(a)=1 y(a)=1

%当未找到显式解决方案时查找隐式解决方案
clear all
clc
syms a y(t)
eqn = diff(y,t) == a/sqrt(y) + y
cond = y(a) == 1;
ySimplified = dsolve(eqn, cond)

在这里插入图片描述若要返回包含参数a的所有可能值的解决方案,请通过将”lgnoreAnalyticConstraints”设置为false来关闭简化。

yNotSimplified = dsolve(eqn,cond,'IgnoreAnalyticConstraints',false)

%当未找到显式解决方案时查找隐式解决方案
clear all
clc
syms a y(x)
eqn = diff(y,x) == a/sqrt(y) + y
cond = y(a) == 1;
ySimplified = dsolve(eqn, cond)
yNotSimplified = dsolve(eqn,cond,'IgnoreAnalyticConstraints',false)

在这里插入图片描述

求微分方程级数解

dsolve返回包含未计算积分项的解
( x + 1 ) ∂ ∂ x y ⁡ ( x ) − y ⁡ ( x ) + ∂ 2 ∂ x 2 y ⁡ ( x ) = 0 \left( {x + 1} \right)\frac{\partial }{
{\partial x}}\operatorname{y} \left( x \right) – \operatorname{y} \left( x \right) + \frac{
{
{\partial ^2}}}{
{\partial {x^2}}}\operatorname{y} \left( x \right) = 0
(x+1)xy(x)y(x)+x22y(x)=0

%级数1
clear all
clc
syms y(x)
eqn = (x^2-1)^2*diff(y,2) + (x+1)*diff(y) - y == 0
S = dsolve(eqn)

在这里插入图片描述
但是若要返回x=-1附近微分方程的级数解,请将“ExpansionPoint”设置为 -1。dsolve 根据Puiseux级数展开返回两1个线性无关的解。

在这里插入图片描述
通过将‘ExpansionPoint’设置为 I n f Inf Inf,找到围绕扩展点 ∞ \infty 的其他级数解
在这里插入图片描述

为具有不同单边限制的函数指定初始条件(特解)

∂ ∂ x y ⁡ ( x ) = e − 1 x x 2 \frac{\partial }{
{\partial x}}\operatorname{y} \left( x \right) = \frac{
{
{e^{ – \frac{1}{x}}}}}{
{
{x^2}}}
xy(x)=x2ex1

%添加条件
clear all
clc
syms y(x)
eqn = diff(y) == exp(-1/x)/x^2
ySol(x) = dsolve(eqn)

在这里插入图片描述
设初始条件 y ( 0 ) = 2 y(0)=2 y(0)=2,则须添加下列代码:

cond = y(0) == 2;
S = dsolve(eqn,cond)

在这里插入图片描述

练习题

可以直接敲代码试试
d y d t + 4 y ⁡ ( t ) = e − t , y ( 0 ) = 1 \frac{
{dy}}{
{dt}} + 4\operatorname{y} \left( t \right) = {e^{ – t}},y(0)=1
dtdy+4y(t)=et,y(0)=1

在这里插入图片描述
2 x 2 d 2 y d x 2 + 3 x d y d x − y = 0 2{x^2}\frac{
{
{d^2}y}}{
{d{x^2}}} + 3x\frac{
{dy}}{
{dx}} – y = 0
2x2dx2d2y+3xdxdyy=0

在这里插入图片描述
The Airy equation.
d 2 y d x 2 = x y ⁡ ( x ) \frac{
{
{d^2}y}}{
{d{x^2}}} = x\operatorname{y} \left( x \right)
dx2d2y=xy(x)

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223087.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 原生js之字符串截取[通俗易懂]

    原生js之字符串截取[通俗易懂]字符串截取的方法有三种:slice(start,end+1),substring(start,end+1),substr(start,n).slice(start,end+1):两个参数时,参数指截取位置,截取含头不含尾;一个参数时,默认截取到字符串结尾。参数可以为负数,负数就倒着数位置。substring(start,end+1):两个参数时,参数指截取位置,截取含头不含…

    2022年5月24日
    34
  • 1077. 皇宫看守(树形dp)[通俗易懂]

    1077. 皇宫看守(树形dp)[通俗易懂]太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。皇宫各个宫殿的分布,呈一棵树的形状,宫殿可视为树中结点,两个宫殿之间如果存在道路直接相连,则该道路视为树中的一条边。已知,在一个宫殿镇守的守卫不仅能够观察到本宫殿的状况,还能观察到与该宫殿直接存在道路相连的其他宫殿的状况。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫殿安排看守所需的费用不同。可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得花费的经费最少。

    2022年8月9日
    5
  • mysql截取字符串去重,mysql 截取字符串 去重 拼接

    mysql截取字符串去重,mysql 截取字符串 去重 拼接1:字符串截取LEFT(guid_,LENGTH(guid_)-5)//1001-1002-1003截取为1001-10022:判断是否存在某字符串中IN(‘1001′,’1002′,’1003’)//whereidin(xxxx)可以用查询的某个字段直接whereidin(selectidfromxxxx)3:根据某个字段去重复在查询结果中加入COUNT(DIS…

    2022年6月10日
    180
  • c++写windows窗口程序_windows7硬件配置要求

    c++写windows窗口程序_windows7硬件配置要求原文转载:http://blog.csdn.net/da_keng/article/details/50589145纯属转载,复制过来方便编程时寻找。感谢作者:I-Awakening复制前补充:在刚学C#,用ManagementObjectSearcher竟然不能解析到头文件,需要手动AddReferance..前言:我们在很多情况下想要获得计算机的…

    2022年10月2日
    0
  • IDEA中使用Git拉取代码时报 Git pull failed原因及处理方法

    IDEA中使用Git拉取代码时报 Git pull failed原因及处理方法

    2020年11月9日
    300
  • 1. Pycharm新建项目[通俗易懂]

    1. Pycharm新建项目[通俗易懂]1.创建Python项目File–newproject(Location选择项目的位置,最后可以加上文件的名字,如Project1),选择好位置后,点击创建,完成项目的创建。2.创建python项目右键选择项目名称(Project1)的文件夹,–new–pythonfile,给文件起名字(如first)3.文件运行写完项目后,单击右键,选择run‘first’4.设置自己的起始模板file–setting–editer–fileandcodetemplates–pyt

    2022年10月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号