Mathematica微分方程
数学实验 Mathematic实验十 微分方程

天水师范学院数学与统计学院实验报告实验项目名称微分方程所属课程名称数学实验实验类型微积分实验实验日期2011.11.23班级学号姓名成绩【实验目的】1.掌握用Mathematica求微分方程及方程组解的方法;2.学习求微分方程近似解的欧拉折线法.【实验原理】1.求解微分方程的命令DSolve.对于可以用积分方法求解的微分方程和微分方程组,可用Dsolve 命令来求其通解或特解.例DSolve[y''[x]+y'[x]-2*y[x]==0,y[x],x]如果要求初值问题,输入DSolve[{y''[x]+4y'[x]+3y[x]0,y[0]0,y'[0] 10},y[x],x]2.求微分方程数值解的命令NDSolve.对于不可以用积分方法求解的微分方程初值问题,可以用NDsolve命令NDSolve[{y'[x] y[x]^2+x^3,y[0] 0.5},y[x],{x,0,1.5}] 【实验环境】Mathematic 4【实验过程】(实验步骤、记录、数据、分析)1.欧拉折线法.例10.1 用欧拉折线法解初值问题. Clear[x ,y ,dx ,f]; x[0]=0; dx=0.1; y[0]=1;x[n_]:=x[n]=x[n-1]+dx ;y[n_]:=y[n]=y[n-1]+(1+y[n-1])*dx ; euler=Table[{x[n],y[n]},{n ,0,10}]; zhx=TableForm[euler ,TableHeadings {None ,{"x","y(Euler)"}}]Clear[g1,g2,y1,g3]; g1=Graphics[Line[euler]]; g2=ListPlot[euler]; y1[x_]=2Exp[x]-1;g3=Plot[y1[x],{x ,0,1}]; Show[g1,g2,g3,Axes True] Table[y1[x[n]]-y[n],{n ,1,10}] 2.用DSolve 命令解微分方程.例10.2 求微分方程22xxe xy y -=+'的通解.Clear[x ,y];DSolve[y'[x]+2x*y[x]x*Exp[-x^2],y[x],x]例l0.3 求微分方程0xxy y e '+-=在初始条件(1)2y e =下的特解. Clear[x ,y];DSolve[{x*y'[x]+y[x]-Exp[x]0,y[1]2E},y[x],x]例10.4 求微分方程x e y y y x 2cos 52=+'-''的通解. Clear[x ,y];DSolve[y''[x]-2y'[x]+5y[x]==Exp[x]*Cos[2x],y[x],x]//Simplify例10.5 (*example10.5*). Clear[x ,y ,t];DSolve[{x'[t]+x[t]+2y[t]==Exp[t],y'[t]-x[t]-y[t]==0,x[0]==1,y[0]==0},{x[t],y[t]},t]//Simplify 3.用NDSolve 命令求微分方程的近似解.例10.6 求初值问题:(1)(1)0,(1.2)1xy y xy y y '++-==在区间[1.2,4]上的近似解并作图.f1=NDSolve[{(1+x*y[x])*y[x]+(1-x*y[x])*y'[x]==0,y[1.2]==1},y ,{x ,1.2,4}]Plot[Evaluate[y[x]/.f1],{x ,1.2,4}] y[1.6]/.f1例10.7 求范德波尔方程2(1)0,(0)0,(0)0.5y y y y y y ''''+-+===-在区间[0,20]上的近似解.Clear[x ,y];NDSolve[{y''[x]+(y[x]^2-1)*y'[x]+y[x]==0,y[0]==0,y'[0]==-0.5},y,{x,0,20}];Plot[Evaluate[y[x]/.%],{x,0,20}]【实验结论】(结果)1.用Mathematica求微分方程及方程组解的方法;2.学习求微分方程近似解的欧拉折线法.附录1:源程序实验十微分方程第一题(1)Clear[x,y];DSolve[y''[x]+6*y'[x]+13*y[x]0,y[x],x] y x3x C2Cos2x3x C1Sin2x(2)Clear[x,y];DSolve[D[y[x],{x,4}]+2*y''[x]+y[x]0,y[x],x]//S implifyy x C2x C4Cos x C1x C3Sin x(3)Clear[x,y];DSolve[D[y[x],{x,4}]-2*y'''[x]+y''0,y[x],x]y x C1x C2x2C32x C4x3y 12(4)Clear[x,y];DSolve[y''[x]-2*y'[x]+5*y[x]Exp[x]*Sin[2*x],y[ x],x]y xx C2Cos2x x C1Sin2x18x Cos2x2Sin2x12x Cos2x x218Sin4x(5)Clear[x,y];DSolve[y''[x]-6*y'[x]+9*y[x](x+1)*Exp[3*x],y[x ],x]y x 163x3x2x36C16x C2第二题(1)Clear[x,y];DSolve[{y''[x]+4y'[x]+29y[x]0,y[0]0,y'[0]1 5},y[x],x]y x32x Sin5x(2)Clear[x,y];DSolve[{y''[x]-y[x]4*x*Exp[x],y[0]0,y'[0]1 },y[x],x]y x 12x222x22x x22x x2(3)Clear[x,y];DSolve[{y''[x]+y[x]+Sin[2x]0,y[Pi]1,y'[Pi] 1},y[x],x]y x133Cos x Sin x Sin 2x第三题Clear[x,y];DSolve[{(x^2-1)y'[x]+2*x*y[x]-Cos[x]0,y[0]1},y[x],x]y x1Sin x 1x 2Clear[x,y];g1=NDSolve[{(x^2-1)*y'[x]+2*x*y[x]-Cos[x]0,y[0]1},y,{x,0,1}]y InterpolatingFunction 0.,1.,Plot[Evaluate[y[x]/.g1],{x,0,1}]0.20.40.60.812468Graphics第四题Clear[x,y,t];DSolve[{x'[t]+5*x[t]+y[t]Exp[x],y'[t]-x[t]-3*y [t]Exp[2*x]},{x[t],y[t]},t]//Simplifyx t1210115t45t15t x15t15t2x7215t15415C115C2715415C115C2,y t1210115t15t15t x75t15t2x715C115415C2 7215t15C115415C2第五题Clear[x,y,t];DSolve[{x'[t]+3*x[t]-y[t]0,y'[t]-8*x[t]+y[t] 0,x[0]==1,y[0]4},{x[t],y[t]},t]x t t,y t4t第六题Clear[x,y];DSolve[x^2*y''[x]+x*y'[x]-4*y[x]x^3,y[x],x]y x x35C1x2x2C2第七题Clear[x,y];NDSolve[{y''[x]+x*y'[x]+y[x]0,y[1]0,y'[2]5 },y,{x,0,4}]y InterpolatingFunction0.,4.,Plot[Evaluate[y[x]/.%],{x,0,4}]50403020101234 Graphics附录2:实验报告填写说明1.实验项目名称:要求与实验教学大纲一致。
mathematica 反函数微分

mathematica反函数微分
Mathematica中可以使用以下方法来求反函数的微分:
1.使用InverseFunction函数
InverseFunction函数可以用于求一个函数的反函数。
如果f是一个函数,那么InverseFunction[f]将返回f的反函数。
要求f的反函数的微分,可以使用D[InverseFunction[f],x]命令。
例如,假设f(x)=x^2,那么InverseFunction[f]返回sqrt(x)。
因此,f的反函数的微分为D[sqrt(x),x]=1/(2*sqrt(x))。
2.使用Derivative函数
Derivative函数可以用于求一个函数的导数。
如果f是一个函数,那么Derivative[f,x]将返回f在x处的导数。
要求f的反函数的微分,可以使用Derivative[InverseFunction[f],x,x]命令。
例如,假设f(x)=x^2,那么InverseFunction[f]返回sqrt(x)。
因此,f的反函数的微分为Derivative[sqrt(x),x,x]=1/(2*sqrt(x))。
3.使用Inverse函数
Inverse函数可以用于求一个函数的反函数。
如果f是一个函数,那么Inverse[f]将返回f的反函数。
Inverse函数还提供了D方法,用于求反函数的微分。
例如,假设f(x)=x^2,那么Inverse[f]返回sqrt(x)。
因此,f的反函数的微分为Inverse[f].D[x]=1/(2*sqrt(x))。
(完整版)Mathematica——常微分方程、拉氏变换与级数实验

创3.5 常微分方程、拉氏变换与级数实验[学习目标]1. 会用Mathematica 求解微分方程(组);2. 能用Mathematica 求微分方程(组)的数值解;3. 会利用Mathematica 进行拉氏变换与逆变换;4. 能进行幕级数和傅里叶级数的展开。
一、常微分方程(组)Mathematica 能求常微分方程(组)的准确解,能求解的类型大致覆盖了人工求解的范围, 功能很强。
但不如人灵活(例如在隐函数和隐方程的处理方面),输出的结果与教材上的答 案可能在形式上不同。
另外,Mathematica 求数值解也很方便,且有利于作出解的图形。
在本 节中,使用Laplace 变换解常微分方程(组)的例子也是十分成功的,过去敬而远之的方法 如今可以轻而易举的实现了。
求准确解的函数调用格式如下: DSolve[eqn ,y[x] ,x] 求方程 eqn 的通解 y(x ),其中自变量是X 。
DSolve[{eqn ,y[x o ]= =y 0},y[x],x] 的特解y (x )。
DSolve[{eqn1,eqn2,—},{y 1 [x],y 2[x],…},x]求方程组的通解。
DSolve[{equ1,…,y 1[x 0]= =y 10,…},{y 1[x],y 2[x],…},x] 求方程组的特解。
说明:应当特别注意,方程及各项参数的表述方式很严格,容易出现输入错误。
微分方 程的表示法只有通过例题才能说清楚。
例1 解下列常微分方程(组):52(1) y 斗(x 1)2,(2) y - y 3 ,(3)x 1(x x ) y解:In[1]: =DSolve[y ' [x]= =2y[x]/ (x+1) + (x+1) A (5/2),y[x],x]Out[1]=y[x] i (1 x)7/2 (1 x)2c[1]In[2]: =DSolve[y ' [x]= = (1+y[xF2 ) /((x+xA3 ) y[x]),y[x],x]求满足初始条件y ( x o ) = y o(4)的通解及满足初始条件y (0) =0, z (0) =1的特解。
mathematica微分方程

mathematica微分方程微分方程是数学中的一个重要分支,它描述了自然界中许多现象的变化规律。
在数学上,微分方程是包含未知函数及其导数的方程,通过求解微分方程,我们可以获得这个未知函数的具体形式,从而了解系统的行为。
Mathematica是一款强大的数学软件,可以解数学问题和绘制图像。
它提供了一系列强大的工具来求解微分方程,并将结果可视化。
在Mathematica中,求解微分方程的第一步是定义微分方程函数。
例如,我们可以定义一个简单的一阶线性微分方程:```mathematicadeqn = y'[x] == x - y[x]```然后,我们使用`DSolve`函数来求解这个微分方程。
Mathematica会尝试找到这个微分方程的解析解。
```mathematicasol = DSolve[deqn, y[x], x]````DSolve`函数的第一个参数是待求解的微分方程,第二个参数是未知函数,第三个参数是自变量。
我们可以通过提取结果中的特定解来获得解的具体形式。
例如,我们可以提取第一个解:```mathematicasol1 = y[x] /. sol[[1]]```现在,我们可以使用得到的解,通过输入一些具体的自变量值来计算对应的函数值。
例如,我们可以计算当`x=1`时的函数值:```mathematicasol1 /. x -> 1```Mathematica还提供了其他求解微分方程的函数,例如,使用`NDSolve`函数可以求解数值微分方程。
另外,Mathematica还提供了一系列用于可视化微分方程解的函数。
例如,使用`Plot`函数可以绘制函数在给定范围内的图像。
```mathematicaPlot[sol1, {x, 0, 5}]```这将绘制出函数在x从0到5的范围内的图像。
除了求解一阶微分方程,Mathematica还可以求解更高阶的微分方程,并提供各种方法和函数来求解常微分方程组、偏微分方程、边界值问题等。
mathematica中求解微分方程的命令

mathematica中求解微分方程的命令
Mathematica中求解微分方程的命令是DSolve。
他可以求解一
阶和多阶的常微分方程和偏微分方程。
例如,要求解一阶常微分方程y'(x) + y(x) = 0,可以使用命令:DSolve[{y'[x] + y[x] == 0, y[0] == 1}, y[x], x]
其中,y[x]是未知函数,y'[x]表示y关于x的导数,y[0] == 1
是初始条件。
要求解二阶常微分方程y''(x) - 2y'(x) + y(x) = 0,可以使用命令:DSolve[{y''[x] - 2y'[x] + y[x] == 0, y[0] == 1, y'[0] == 0}, y[x], x]
其中,y''[x]表示y关于x的二阶导数,y'[0] == 0和y[0] == 1
是初始条件。
如果是偏微分方程,可以使用命令DSolveValue来求解。
例如,要求解二阶偏微分方程uxx[x, y] + uyy[x, y] = 0,可以使用命令:
DSolveValue[{D[u[x, y], x, x] + D[u[x, y], y, y] == 0, u[0, y] == Sin[y], u[x, 0] == Exp[-x]}, u[x, y], {x, y}]
其中,u[x, y]是未知函数,uxx[x, y]表示u关于x的二阶混合
偏导数,uyy[x, y]表示u关于y的二阶混合偏导数,u[0, y] == Sin[y]和u[x, 0] == Exp[-x]是边界条件。
mathematica 积分变换与微分方程

==y[x], 或 Plot[Evaluate[y[x]/.NDSolve[{y'[x]== == y[0]== ==1},y,{x,0,1}]],{x,0,1}] == 初始条件y(1)=1 初始条件 In[4]:=NDSolve[{y’[x]==y[x],y[1]==1},y,{x,0,1}] Out[4]={{y→InterpolatingFunction[{{0.,1.}},<>]}} 利用图形观察 In[5]:= Plot[Evaluate[y[x]/.NDSolve[{y'[x]== ==y[x], == y[1]== ==1},y,{x,0,1}]],{x,0,1}] == Out[5]=
• 求方程y’’ +y’+x3y=0在区间[0,8]上满足条件 y(0)=0, y’(0)=1的特解 Mathematica命令为: In[10]:=s1=NDSolve[{y’’[x]+y’[x]+x^3*y[x]==0,y [0]==0,y’[0]==1},y,{x,0,8}]; Plot[Evaluate[y[x]/.s1],{x,0,8}]
例1 给出t3sint的拉普拉斯变换
Mathematica命令为: In[1]:=LaplaceTransform[t^3Sin[t],t,s] Out[1]=
24 s ( −1 + s 2 )
(1 + s )
2 4
上式的逆变换是: In[2]:=InverseLaplaceTransform[%,s,t] Out[2]= t3sint
上式的傅立叶逆变换为:
In[5]:=InverseFourierTransform[%,w,t] Out[5]= Cos[t2]
Mathematica在微分方程上的应用
5 Sinx , 4 Sinx , 3 Sin x, 2 Sinx, Sinx , 0, Sinx , 2 Sin x, 3 Sin x, 4 Sinx, 5 Sin x
因為 Plot 函式可以一次處理一連串的函數,所以可以很容易地繪出上所有特 定解。在這之前,我們先產生一組由 Hue 函式組成的 colors 串列,其中 Hue[0] 代表的是深紅色,Hue[0.3]為綠色,Hue[0.6]為淺藍色,Hue[0.7]為深藍色:
yx yx
故該變數仍可進一步地自由加以利用,例如求算 y ( x) 2 對 x 的一階導數,可以直 接沿用 y[x]變數符號,而不另外使用 z[x]或其他變數名稱:
Dyx2, x 2 yx yx
當需要將 sol 的結果代入 y[x]時,也可以利用 Mathematica 提供的代入子 (/.) 加以進行,在 sol 的後面緊接著 1 代表代入的是第一組解 (雖然也是唯一的 一個解,在其他的情況則可能會有兩個以上的解):
Dyx . sol1, x yx Cosx . sol1 True
將特定數值代入常數項 C[1]即可得到特定解,下面得到一組當 C[1]分別等於
-5、-4、-3、-2、-1、0、1、2、3、4、5 等值時的特定解,並將此組特定解集
合命名為 spesol:
spesol Tableyx . sol1 . C1 i, i, 5, 5
Mathematica教程-4基本微积分
求解微分方程函 数y
Dsolve[{eqn1,eqn2,…},{y1,y2,….},x] 求解微分方程组
解y[x]仅适合其本身,并不适合于y[x]的其它形式, 如y’[x],y[0]等,也就是说y[x]不是函数。 例如我们如果有如下操作,y’[x],y[0]并没有发生变化
解的纯函数形式
这里y适合y的所有情况
In[1] : Limit[ Sin 5 * x S in 3 * x / Sin x ,x 0]
Out[1] 2
lim arctan x
x
In[6] : Limit ArcTan x ,x Infinity
Out[6]
NIntegrate[Sin[Sin[x]],{x,0,Pi}]
幂级数(泰勒公式)展开
一个函数描述了在某个区域内值的对应关系, 有时考察一个函数在某一点附近的性质时,可以用 一个有限次的多项式作为这个函数的近似,这就是 幂级数展开(Taylor展开)的意义。Mathematica 可以非常方便地求出任一个复杂函数表达式的任意 阶幂级数展开。运算格式:Series[f[x],{x,x0,n}]: 表示f(x)在x=x0做Taylor展开至 (x x0阶)n(带余项)。
当x趋向于x0时求 expr的极限
Limit[expr,x->x0,Direction->1]
当x趋向于x0时求 expr的左极限
Limit[expr,x->x0,Direction->-1]
当x趋向于x0时求 expr的右极限
例:求下列极限
sin 5x sin 3x lim x0 sin x
Dt[f,x1,x2,…]
Dt[f,x,Constants->{c1,c2,….}]
Mathematica第6章 微分方程的求解
第6章微分方程的求解6.1 微分方程解在Mathematica中使用Dsolove[]可以求解线性和非线性微分方程,以及联立的微分分方程组。
在没有给定方程的初值条件下,我们所得到的解包括C[1],C[2]是待定系数。
求解微分方程就是寻找未知的函数的表达式,在Mathematica中,未稳中有降函数用y[x]表示,其微分用y'[x],y''[x]等表示。
下面给出微分方程(组)的求解函数1.用Dsolve求解微分方程y[x]解y[x]仅适合其本身,并不适合于y[x]的其它形式,如y’[x],y[0]等,也就是说y[x]不是函数,例如我们如果有如下操作,y’[x],y[0]并没有发生变化。
2.解的纯函数形式使用Dsolve命令可以给出解的纯函数形式,即y,请分析下面的例子这里y适合y的所有情况下面的例子可以说明这一点在标准数学表达式中,直接引入亚变量表示函数自变量,用此方法可以生成微分方程的解。
如果需要的只是解的符号形式,引入这样来变量很方便。
然而,如果想在其他的的计算中使用该结果,那么最好使用不带亚变量的纯函数形式的结果。
3.求微分方程组请分析下面的例子当然微分方程组也有纯函数形式。
4.带初始条件的微分方程的解当给定一个微分方程的初始条件可以确定一个待定系数。
请看下面的例子第二个例子由于给出一个初始条件所以只能确定C[1].5.进一步讨论对于简单的微分方程的解比较简单,对一些微分方程它的解就复杂的多。
特别是对一些微分方程组或高阶微分方程,不一定能得具体的解,其解中可能含有一些特殊函数。
并且很多特殊函数的提出就是为了解这些方程的如:上面三个方程中分别使用了三种类型的函数,可以查看系统帮助了解他们的性质和含义。
对于非线性微分方程,仅有一些特殊的情况可用标准数学函数得到解。
Dsolve能够处理所有在标准数学手册有解的非线性微分方程。
例如:可以看出第二个方程的解已经非常复杂。
6.2 微分方程的数值解在Mathematica中用函数DSolve[]得到微分方程的准确解,用函数NDSolve得到微分方程的数值解,当然在此处要给出求解区间(x,xmin,xmax)。
2705数学软件mathematics计算常微分方程.
02利用DSolve求解微分方程
dy 例:求微分方程 y a sin x, y dx
x 0
0 的特解?
解:1.打开Mathematica,新建文档
2.输入指令 :DSolve[{y'[x] + y[x] == a Sin[x], y[0] == 0}, y[x], x] 3.Shift+Enter 输出结果
高等数学在线开放课程
数学软件 Mathematica 计算常微分方程
目 录
01
引
言
02 利用DSolve求解微分方程 03 绘制微分方程解的曲线
01引言
Mathematica能求线性与非线性的常微分方程(组)的精确解, 能求解的类型大致覆盖了人工求解的范围,功能很强。 但是,计算机不如人灵活(例如在隐函数的处理方面),输出 的结果与人工计算的结果可能在形式上不同。 利用Mathematica求解微分方程,命令语法格式:
DSolve[eqn,y[x],x] 求特解的语句如下: DSolve[{eqn,初始条件},y[x],x]
02利用DSolve求解微分方程
dy 例:求微分方程 y a sin x 的通解? dx
解:1.打开Mathematica,新建文档
2.输入指令 :DSolve[y'[x] + y[x] == a Sin[x], y[x], x] 3.Shift+Enter 输出结果
5.Shift+Enter 输出结果
谢谢
思考题:
求微分方程 y' y e x 的通解,并画出解曲线(积分曲线族)? 解:1.打开Mathematica,新建文档 2.输入指令 : DSolve[y'[x] - y[x] == E^-x, y[x], x] 3.Shift+Enter 输出结果
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 微分方程
7.1 常微分方程的解析解(线性常微分方程) 求通解: DSolve[微分方程(组),未知函数,自变量] 求特解: DSolve[{微分方程(组),初始条件}, 未知函数,自变量]
演示7.1
7.2 偏微分方程的解析解
二阶线性偏微分方程: auxx+2buxy+cuyy+dux+euy+fu+g=0 (1) H=ac-b2称为判别式,用变量代换 上述方程总可化为以下标准方程之一: Uxx-k2uyy=φ 双曲型标准方程 Uxx+k2uyy=φ 椭圆型标准方程 Ux+k2uyy=φ 抛物型标准方程 (2)
7.3 常微分方程的数值解(方程类型不受限制)
调用函数格式为: NDSolve[ {微分方程(组), 初始条件}, 未知函数 (未知函数组), {自变量范围} ]
ห้องสมุดไป่ตู้
7.4 偏微分方程的数值解(定解问题的数值解)
NDSolve[ {偏微分方程,定解条件}, 未知函数u[x,y], {x,x1,x2},{y,y1,y2} ] 注意:定解条件的写法
其中k称为上述方程的系数,可为常数, 也可为x,y的函数, φ同样
在(1)中,若a,b,c==0,则(1)式为: ux+euy+fu+g=0 (3) (一阶线性偏微分方程)
我们讨论(2)(3)形式的方程,调用函数格式为: DSolve[偏微分方程,未知函数u[x,y],自变量{x,y}]
注:此式中未涉及定解条件,求的是通解