- 代数方程
- 常微分方程
代数方程符号求解
在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。