200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > MATLAB学习:解一阶常系数微分方程

MATLAB学习:解一阶常系数微分方程

时间:2022-06-18 08:54:53

相关推荐

MATLAB学习:解一阶常系数微分方程

使用matlab自带函数(版本matlaba)

方法1:

先化简等式,使等式左边只剩下一阶导数项然后用ode23函数(刚性系统,即有多个变量时,一个变量变化很快,另一个变化很慢?),非刚性系统使用ode45函数。对等式右边积分,matlab帮助页中写道:[t,y] = ode23(odefun,tspan,y0)(其中tspan = [t0 tf])求微分方程组y′=f(t,y)从t0tf的积分,初始条件为y0。解数组y中的每一行都与列向量t中返回的值相对应。(没有解析解时使用)

例如:(下图来自matlab帮助页)

其中@符号为matlab中的函数句柄,用这个方法得到函数,例如,function1=@sin,则function1得到了sin的运算关系,此时在调用函数function1(0)则可以得到结果sin0,即等于0。上例中采用的格式是“@(变量名列表)函数名(函数输入列表)”,这个格式是默认的,如果方程中没有t,但在画图时要用到t,依然按照[t,y]=ode23(@(t,y) odefcn(t,y,...),tspan,y0)这种格式写。

方法2:

用dsolve函数:

syms y(t)

a=10;

eqn = diff(y,t) == a;

cond = y(0) == 5;

ySol(t) = dsolve(eqn,cond)

结果:ySol(t) =

10*t + 5

这样得到解与t的函数表达式,在下面加入语句:x=ySol(2),可以得到t=2时,ySol的值:x =

25,相当于这个方法得到了函数ySol与自变量t之间的关系。画图时,加入语句:plot(0:0.01:1, ySol(0:0.01:1)),其中冒号表达式自己可以更改。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。