用matlab或者mathematica求积分解微分方程
发布网友
发布时间:2022-04-26 04:38
我来回答
共1个回答
热心网友
时间:2022-06-20 20:22
(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)
当难以求得微分方程的解析解时,可以求其数值解.
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:
function
dy=fun(x,y)
dy
=
-
2*y/x+4*x;
(2)再输入命令
[X,Y]=ode45('fun',
[1
3],
2);
plot(X,Y,'-')
你要么留个邮箱
发给我,我们学过一点这个课,我把资料发给你,这样看不大清楚的