没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
19页
matlab非线性方程求解要点word版本.pdfmatlab非线性方程求解要点word版本.pdfmatlab非线性方程求解要点word版本.pdfmatlab非线性方程求解要点word版本.pdfmatlab非线性方程求解要点word版本.pdfmatlab非线性方程求解要点word版本.pdfmatlab非线性方程求解要点word版本.pdfmatlab非线性方程求解要点word版本.pdf
资源推荐
资源详情
资源评论
m a t a b 非 线 性 方 程 求
解 要 点
l
精品文档
非线性方程的解法
1 引 言
数学物理中的许多问题归结为解函数方程的问题,即,
f (x) 0
(1.1)
这里,
f (x)
可以是代数多项式,也可以是超越函数。若有数
x
*
为方程
f (x) 0
的根,或称函
数
f (x)
的零点。
设函数
f (x)
在
[a,b]
内连续,且
f (a) f (b) 0
。根据连续函数的性质知道,方程
f (x) 0
在区间
[a, b]
内至少有一个实根;我们又知道,方程
f (x) 0
的根,除了极少简单方程的根可
以用解析式表达外,一般方程的根很难用一个式子表达。即使能表示成解析式的,往往也很
复杂,不便计算。所以,具体求根时,一般先寻求根的某一个初始近似值,然后再将初始近
似值逐步加工成满足精度要求为止。
如何寻求根的初始值呢?简单述之,为了明确起见,不妨设
f (x)
在区间
[a, b]
内有一个
实的单根,且
f (a) 0, f (b) 0
。我们从左端出点
x
0
a
出发,按某一预定的步长
h
一步一步
地向右跨,每跨一步进行一次根的“搜索”,即检查每一步的起点
x
k
和
x
k 1
(即,
x
k
h
)的函数
值是否同号。若有:
f (x
k
) * f (x
k
h) 0
(1.2)
那么所求的根必在
(x
k
, x
k
h)
内,这时可取
x
k
或
x
k
h
作为根的初始近似值。这种方法通常
称为“定步长搜索法”。另外,还是图解法、近似方程法和解析法。
2 迭代法
2.1 迭代法的一般概念
收集于网络,如有侵权请联系管理员删除
精品文档
迭代法是数值计算中一类典型方法,不仅用于方程求根,而且用于方程组求解,矩阵求
特征值等方面。迭代法的基本思想是一种逐次逼近的方法。首先取一个精糙的近似值,然后
用同一个递推公式,反复校正这个初值,直到满足预先给定的精度要求为止。
对于迭代法,一般需要讨论的基本问题是:迭代法的构造、迭代序列的收敛性天收敛速度
以及误差估计。这里,主要看看解方程迭代式的构造。
对方程(1.1),在区间
[a,b]
内,可改写成为:
x
(x)
(2.1)
取
x
0
[
a
,
b
]
,用递推公式:
x
k 1
(x
k
)
,
k 0,1,2,
(2.2)
可得到序列:
x
0
, x
1
, x
2
, x
k
, {x
k
}
k 0
(2.3)
~ ~
当
k
时,序列
{x
k
}
k 0
有极限
x
,且
(x)
在
x
附近连续,则在式(2.2)两边极限,得,
~
x
(
~
x )
即,
~
x
为方程(2.1)的根。由于方式(1.1)和方程(2.1)等价,所以,
xx
*
~
即,
lim x
k
x
*
k
式(2.2)称为迭代式,也称为迭代公式;
(x)
可称为迭代函数。称求得的序列
{x
k
}
k 0
为迭代序
列。
2.2 程序和实例
收集于网络,如有侵权请联系管理员删除
精品文档
下面是基于 MATLAB 的迭代法程序,用迭代格式
p
n1
g
(
x
n
)
,求解方程
x g(x)
,其
中初始值为
p
0
。
**************************************************************************
function[p,k,err,P]=fixpt(f1021,p0,tol,max1)
% f1021 是给定的迭代函数。
% p0 是给定的初始值。
% tol 是给定的误差界。
% max1 是所允许的最大迭代次数。
% k 是所进行的迭代次数加 1。
% p 是不动点的近似值。
% err 是误差。
% P = {p1,p2,…,pn}
P(1) = p0;
for k = 2:max1
P(k) = feval('f1021', P(k-1));
k, err = abs(P(k) - P(k-1))
p = P(k);
if(err<tol),
break;
end
if k == max1
disp('maximum number of iterations exceeded');
end
end
P=P;
****************************************************************************
例 2.1 用上述程序求方程
sin x x
2
0
的一个近似解,给定初始值
x
0
0.5
,误差界为
10
5
。
解:先用 m 文件先定义一个名为 f1021.m 的函数文件。
function y = f1021(x)
收集于网络,如有侵权请联系管理员删除
剩余18页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功