天天看点

牛顿法

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。

//P136

#include "stdafx.h"

#include <iostream>

#define f(x) (x*exp(x)-1)

#define g(x) (exp(x)+x*exp(x))

using namespace std;

int main()

{

double  x0, x1, e;

int k, N;

cout << "请输入x0,e,N" << endl;

cin >> x0 >> e >> N;

    k = 1;

while(1)

{

if (g(x0) == 0 )

{

cout << "奇异标志" << endl;

break;

}

x1 = x0 - f(x0) / f(x1);

if (fabs(x1 - x0) < e)

{

cout << x1;

break;

}

if (k == N)

{

cout << "迭代失败!" << endl;

break;

}

k++;

x0 = x1;

    return 0;

}

继续阅读