用matlab或者mathematica求积分解微分方程
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/21 01:53:52
用matlab或者mathematica求积分解微分方程
(1)积分函数int
int(s,v)格式,表示以v为自变量,对被积函数或符号表达式s求一阶不定积分.
int(s ,v,a,b),表示求函数f的定积分或广义积分;a、b分别表示定积分的下限和上限.
例子:求定积分和广义积分
syms x
I2=int(1/(3+2*x+x^2),x,0,1)
I3=int(1/(3+2*x+x^2),x,-inf,inf)
(2)\x05当难以求得微分方程的解析解时,可以求其数值解.Matlab中求微分方程数值解的函数有五个:ode45,ode23,ode113,ode15s,ode23s.
用法为:[t,x] = solver(‘f’,ts,x0,options)
solver取以上五个函数之一,不同的函数代表不同的内部算法.一般常用函数ode45
f 是由待解方程写成的m文件名;
ts = [ t0,tf ],t0、tf 分别初始时间和终止时间;
x0 为函数的初值;
options用于设定误差限(可以缺省,缺省时设定为相对误差10-3,绝对误差10-6),格式为:
options = odeset(‘reltol’,rt,‘abstol’,at )
这里rt,at 分别为设定的相对误差和绝对误差.
在解n 个未知函数的方程组时,x0 和 x 均为 n 维向量,m 文件中的待解方程组应以 x 的分量形式写成.
例子:例1:求微分方程初值问题在[1,3]区间内的数值解
(1)建立一个该函数的m文件fun.m:
\x05function dy=fun(x,y)
\x05dy = - 2*y/x+4*x;
\x05(2)再输入命令
\x05[X,Y]=ode45('fun',[1 3],2);
plot(X,Y,'-')
你要么留个邮箱 发给我,我们学过一点这个课,我把资料发给你,这样看不大清楚的
int(s,v)格式,表示以v为自变量,对被积函数或符号表达式s求一阶不定积分.
int(s ,v,a,b),表示求函数f的定积分或广义积分;a、b分别表示定积分的下限和上限.
例子:求定积分和广义积分
syms x
I2=int(1/(3+2*x+x^2),x,0,1)
I3=int(1/(3+2*x+x^2),x,-inf,inf)
(2)\x05当难以求得微分方程的解析解时,可以求其数值解.Matlab中求微分方程数值解的函数有五个:ode45,ode23,ode113,ode15s,ode23s.
用法为:[t,x] = solver(‘f’,ts,x0,options)
solver取以上五个函数之一,不同的函数代表不同的内部算法.一般常用函数ode45
f 是由待解方程写成的m文件名;
ts = [ t0,tf ],t0、tf 分别初始时间和终止时间;
x0 为函数的初值;
options用于设定误差限(可以缺省,缺省时设定为相对误差10-3,绝对误差10-6),格式为:
options = odeset(‘reltol’,rt,‘abstol’,at )
这里rt,at 分别为设定的相对误差和绝对误差.
在解n 个未知函数的方程组时,x0 和 x 均为 n 维向量,m 文件中的待解方程组应以 x 的分量形式写成.
例子:例1:求微分方程初值问题在[1,3]区间内的数值解
(1)建立一个该函数的m文件fun.m:
\x05function dy=fun(x,y)
\x05dy = - 2*y/x+4*x;
\x05(2)再输入命令
\x05[X,Y]=ode45('fun',[1 3],2);
plot(X,Y,'-')
你要么留个邮箱 发给我,我们学过一点这个课,我把资料发给你,这样看不大清楚的