牛顿插值求解多项式
2015-01-29 11:46
141 查看
#include <iostream>
using namespace std;
//牛顿插值求解多项式
double * xs; //all input x
double * ys; //all input y
int n; //size
//1 2 3 4
//0 -5 -6 3
//1.5
//-2.625
void init()
{
cout << "please input n " << endl;
cin >> n;
xs = new double[n];
ys = new double[n];
//input x
cout << "please input the x's value !" << endl;
for(int i=0; i<n; i++)
{
cin >> xs[i];
}
//input y
cout << "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;
}
[/code]
来自为知笔记(Wiz)
附件列表
相关文章推荐
- 牛顿插值多项式(动态输入x,y)
- 牛顿插值多项式
- Matlab之用牛顿均差求插值多项式
- 牛顿插值多项式,用于离散数据的拟合
- 数值分析(拟合、插值和逼近)之数据插值方法(线性插值、二次插值、Cubic插值、埃米尔特、拉格朗日多项式插值、牛顿插值、样条插值)(含opengl程序)
- 牛顿基本插值多项式
- 牛顿插值多项式公式求函数近似值
- 用牛顿插值多项式求函数近似值的算法,能用C语言编程实现
- 牛顿插值多项式
- 链式线性表表示和求解一元多项式问题
- 10个重要的算法C语言实现源代码(其2--牛顿插值)
- python计算牛顿迭代多项式实例分析
- 线性表的应用——求解两个多项式相加问题描述(顺序表求解)
- 插值方法-拉格朗日多项式
- HDu1296(Polynomial Problem)多项式的求解
- Matlab练习——多项式和一元方程求解
- Hermite插值是牛顿插值的极限情形
- 拉格朗日插值多项式的原理介绍及其应用
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 插值算法应用【拉格朗日插值、牛顿插值】