天天看點

牛頓法

// 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;

}

繼續閱讀