![](https://csdnimg.cn/release/download_crawler_static/86849182/bg3.jpg)
也叫求函数 f ( x)的零点。如果变量 x 是列阵,则方程(l)就代表方程组。
当方程(l)中的函数 f (x)是有限个指数、对数、三角、反三角或幂函数
的组合时,则方程(l)被称为超越方程,例如 e
-x
- sin(πx / 2 ) +lnx = 0 就是
超越方程。
当方程(l)中的函数 f(x)是多项式时,即 f(x)=P
n
(x)= a
n
x
n
+ a
n-1
x
n
+ … + a
l
x + a
0
,则方程(l)就成为下面的多项式方程,也称代数方程:
P
n
(x)= a
n
x
n
+ a
n-1
x
n
+ … + a
l
x + a
0
= 0 ( 2 )
P
n
(x)的最高次数 n 等于 2、3 时,用代数方法可以求出方程(2)的解析
解,但是,当 n ≥ 5 时,伽罗瓦(Galois)定理已经证明它是没有代数求根方法
的。至于超越方程,通常很难求出其解析解。所以,方程( l)的求解经常使用
作图法或数值法,而计算机的发展和普及又为这些方法提供了广阔的发展前景,
使之成为科学和工程中最实用的方法之一。
本章首先介绍求解 f ( x ) = 0 的 MATLAB 符号法指令,然后介绍求方程数
值解的基本原理,最后再介绍求解 f ( x ) = 0 的 MATLAB 数值法指令。
一、符号方程求解
在 MATLAB 中,求解用符号表达式表示的代数方程可由函数 solve 实现,
其调用格式为:
solve(s):求解符号表达式 s 的代数方程,求解变量为默认变量。
当方程右端为 0 时,方程可以不标出等号和 0,仅标出方程的左端。
solve(s,v):求解符号表达式 s 的代数方程,求解变量为 v。
solve(s1,s2,…,sn,v1,v2,…,vn):求解符号表达式 s1,s2,…,sn 组成的代数方程
组,求解变量分别 v1,v2,…,vn。
例 1. 解下列方程。
1 4x 2
1.
2
1
x 2
x 4
x 2
x= solve('1/(x+2)+4*x/(x^2-4)=1+2/(x-2)', 'x')
2.
x
3
x
3
4x 7 1
f=sym('x-(x^3-4*x-7)^(1/3)=1')
x= solve(f)
3.
2sin
3x
1
4
x= solve('2*sin(3*x-pi/4)=1')
4.
x xe
x
10 0
x= solve('x+x*exp(x)-10', 'x') %仅标出方程的左端
二、求方程 f ( x ) = 0 数值解的基本方法
并非所有的方程 f ( x ) = 0 都能求出精确解或解析解,不存在这种解的方程
就需要用数值解法求出近似解,有几种常见的数值解法基本原理:二分法。
1 求实根的二分法原理
设方程 f (x) =0 中的函数 f ( x)为实函数,且满足: