来自「收集的C语言算法程序」· 代码 · 共 1 行
TXT
1 行
#include<iostream.h>//确定要计算的角度值#define A 0.57891//一阶差商的函数声明inline double f(int,int);//二阶差商的函数声明inline double f(int,int,int);//三阶差商的函数声明inline double f(int,int,int,int);//牛顿插值多项式的函数声明double Newton(double);double x[4]={0.4,0.5,0.6,0.7};double y[4]={0.38942,0.47943,0.56464,0.64422};void main(){ cout<<"经用牛顿插值法计算得知\n"; cout<<"sin(0.57891)的近似值为"<<Newton(A)<<endl;}//一阶差商的函数定义inline double f(int m,int n){ return (y[n]-y[m])/(x[n]-x[m]);}//二阶差商的函数定义inline double f(int m,int n,int k){ return (f(n,k)-f(m,n))/(x[k]-x[m]);}//三阶差商的函数定义inline double f(int m,int n,int k,int t){ return (f(n,k,t)-f(m,n,k))/(x[t]-x[m]);}//牛顿插值多项式的函数定义double Newton(double xx){ return y[0]+f(0,1)*(xx-x[0])+f(0,1,2)*(xx-x[0])*(xx-x[1])+f(0,1,2,3)*(xx-x[0])*(xx-x[1])*(xx-x[2]);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?