标签:
#include <iostream>using namespace std;//牛顿插值求解多项式double * xs; //all input xdouble * ys; //all input yint n; //size//1 2 3 4//0 -5 -6 3//1.5//-2.625void init(){cout << "please input n " << endl;cin >> n;xs = new double[n];ys = new double[n];//input xcout << "please input the x‘s value !" << endl;for(int i=0; i<n; i++){cin >> xs[i];}//input ycout << "please input the y‘s value !" << endl;for(int i=0; i<n; i++){cin >> ys[i];}}double f(int n){double f=0;double temp=0;for(int i=0; i<n+1; i++){temp=ys[i];for(int j=0; j<n+1; j++){if(i!=j)temp /= (xs[i]-xs[j]);}f += temp;}return f;}double newton(double x){double result=0;for(int i=0; i<n; i++){double temp=1;double fi=f(i);for(int j=0; j<i; j++){temp = temp*(x-xs[j]);}result += fi*temp;}return result;}int main(){init();double x;cout << "please input the x‘ value !" << endl;cin >> x;cout << "the result of the Newton is " << newton(x);return 0;}
标签:
原文地址:http://www.cnblogs.com/sober-reflection/p/be34a2cebf0db8a639b281de79682a1e.html