《计算机数值方法》实验指导书
《计算机数值方法》
实验指导书
计算机科学与技术与学院计算机科学与技术系
第 1 页第 1 页第 1 页
《计算机数值方法》实验指导书
目 录
实验一 方程求根1
实验二 线性方程组的直接解法3
实验三 线性方程组的迭代解法8
实验四 代数插值9
第 2 页第 2 页第 2 页
《计算机数值方法》实验指导书
实验一 方程求根
【目的与要求】
1.了解方程求根的基本方法、基本原理、误差估计;
2 .能够按照工程实际要求,选择适当的算法;
3 .通过编写程序,进行算法设计和数值求解。
【实验内容】
1. 熟悉使用二分法、迭代法、牛顿法、割线法等方程求根的基本方法、基本原理、
误差估计的相关理论。
3 2
2. 选择方程求解方法中的两种方法求方程:f (x)=x +4x -10=0 在[1,2] 内的一个实
根,且要求满足精度|x *-x |<0.5×10-5 。
n
【示例程序】
增值寻根法又叫做逐步搜索法,是求解方程根的一种方法,也是初步确定方程隔
根区间的一种方法。增值寻根法的基本思想是:从初值x0 开始, 按规定的一个初始步
长 h 来增值:
x = x +h n=0,1,2,3 ……
n+1 n
同时计算f (xn+1)可能遇到三种情形:
(1) f (xn+1)=0 ,此时,xn+1 即为方程的根x *;
(2) f (x )*f (x )>0 ,说明[x , x ] 内无根;
n+1 n n+1 n
(3) f (x )*f (x )<0 ,说明[x , x ] 内有根;
n+1 n n+1 n
搜索过程,可从 a 开始,也可从 b 开始,这时应取更小的步长 h ,直到有根区间的
长度|x -x |
n+1 n n n+1 n n+1
就是满足精度的方程的近似根。
基于增值寻根法,设计程序如下:
#include
double fun(double x){
double y=x*x;
第 1 页第 1 页第 1 页
《计算机数值方法》实验指导书
return y*x+4*y-10;
}
void main(void) {
double x0=-4,x;
double h=1;
double step=0;
x=x0;
while(h>0.000001){
cout<
while(true){
step++;
if(fun(x)==0){
cout<