实验目的
(1)通过对二分法与牛顿迭代法做编程练习和上机运算,进一步体会二分法和牛顿法的不同。 (2)编写割线迭代法的程序,求非线性方程的解,并于牛顿迭代法作比较。
实验内容
1、用牛顿迭代法求下列方程的根 (1) x^2-e^x=0 (2) 〖xe〗^x-1=0 (3) lgx+x-2=0 2、编写割线法程序求解第一问的方程
/* 牛顿迭代法的代码实现
* 数值分析
* 计科 1604 王宇晨 10430416414
*/
#include
#include
#include
using namespace std;
const double e = 2.718281818284;
const double eps = 1e-6;
//求导数 X = x - f(x)/f'(x)
double f1(double x){
double a = pow(e,x);
return x-(x*x-a)/(2*x-a);
}
double f2(double x){
double a = pow(e,x);
return x-(x*a-1)/(a*x+a);
}
double f3(double x){
double a = x*log(10);
return x-(log10(x) + x - 2)/( 1/a + 1);
}
void NewtonIterationMethod1(double x,double d){
double a = x;
double b = f1(a);
int k=0;
|