[MATLAB]代数/常微分求解(solve/dsolve)

  • 代数方程
  • 常微分方程

代数方程符号求解

在MATLAB中,求解用符号表达式表示的代数方程可由函数solve()实现,其调用格式为:

solve(s):求解符号表达式s的代数方程,求解变量为默认变量
solve(s,v):求解符号表达式s的代数方程,求解变量为v
solve(s1,s2,....,sn,v1,v2,....,vn):
求解符号表达式s1,s2,...,sn组成的代数方程组
求解变量分别为v1,v2,...,vn.

解方程ax^2+bx+c=0

以前我们可以用系数函数coeffs进行求解,

>> syms a b c x;
>> f=a*x^2+b*x+c


>> g=coeffs(f,x)


>> g=g(end:-1:1)


>> roots(g)

现在我们直接使用fsolve函数进行求解(四种方法)

>> syms x y a b c;
>> solve(a*x^2+b*x+c==0);
>> solve(a*x^2+b*x+c)
 
ans =
 
 1/2/a*(-b+(b^2-4*a*c)^(1/2))
 1/2/a*(-b-(b^2-4*a*c)^(1/2))
 
 
>> f=a*x^2+b*x+c==0;
>> solve(f) 
>> f=a*x^2+b*x+c;
>> solve(f)
 
ans =
 
 1/2/a*(-b+(b^2-4*a*c)^(1/2))
 1/2/a*(-b-(b^2-4*a*c)^(1/2))
 
 

常微分方程符号求解

在MATLAB中,用大写字母D表示导数。
例如:
Dy表示y’,D2y表示y’’,Dy(0)=5表示y’(0)=5.
D3y+D2y+Dy-x+5=0表示微分方程y’’’+y’’+y’-x+5=0.
符号常微分方程求解可以通过函数dsolve来实现,其调用格式为:

dsolve(e,c,v)

用于求解常微分方程e在初值条件c下的特解。参数v是方程中的自变量,省略时按默认原则处理,若没有给出初值条件c,则求方程的通解。

dsolve在求常微分方程组时的调用格式为:

dsolve(e1,e2,...,en,c1,c2,...,cn,v)

用于求解常微分方程组e1,e2,…,en在初值条件c1,c2,…,cn下的特解,若不给出初值条件,则求方程组的通解。v给出求解变量,如果没有指定自变量,则采用默认自变量t。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值