牛顿插值函数C语言程序实现
来源:互联网 发布:淘宝话费红包怎么用 编辑:程序博客网 时间:2024/06/15 22:49
牛顿插值函数C语言程序实现
牛顿插值的关键在于差商表的计算,差商表第一行是y值,为了配合计算,在该矩阵上方配上节点x0、x1、x2……xn
所以只要计算矩阵内上三角值即可。
#include <stdio.h>#include <stdlib.h>int main(){ float table(int n,float a1[10],float a2[10],float a3[10][10]); float newton(int n,float a4[10][10],float a5[10]); float arrX[10],arrY[10],arrL[10][10]; int num,i; printf("请输入插值节点的个数(个数应小于10):"); scanf("%d",&num); printf("请输入各个插值节点的值:\n"); for(i=0; i<num; i++) { printf("请输入X%d值:",i+1); scanf("%f",&arrX[i]); printf("请输入Y%d值:",i+1); scanf("%f",&arrY[i]); } table(num,arrX,arrY,arrL); newton(num,arrL,arrX); return 0;}float table(int n,float a1[10],float a2[10],float a3[10][10]){ int i,j; for(i=0; i<n; i++) { a3[0][i]=a2[i];//第一行初始化为y值 } for(i=0; i<n; i++) for(j=n-1; j>i; j--)//从一行最后往前循环,到i=j为止,即上三角全部计算赋值 { a3[i+1][j]=(a3[i][j]-a3[i][j-1])/(a1[j]-a1[j-1*(i+1)]);//差商表计算,最后一项arrX[j-1*(i+1)]脚标是计算步长 } for(i=1; i<n; i++)//下三角未计算赋值,系统会随机分配值给下三角的每一位,故赋值0会使差商表输出更整齐 for(j=0; j<i; j++) { a3[i][j]=0.0; } printf("差商表为:\n"); printf("----------------------------------------------------------\n"); for(i=0; i<n; i++) { for(j=0; j<n; j++) { if(j%n==0)//num个数一行输出 printf("\n"); printf("%f\t",a3[i][j]); } } printf("\n"); printf("----------------------------------------------------------\n"); return 0;}float newton(int n,float a4[10][10],float a5[10]){ int i; float x,y,t1=1.0; while(1) { printf("请输入要插入节点的X值:"); scanf("%f",&x); y=a4[0][0]; for(i=1; i<n; i++) { t1=t1*(x-a5[i-1]); y=y+a4[i][i]*t1;//差商表对角线值依次乘以(x-x0)(x-x1)…… } printf("插值结果为:%f",y); printf("\n"); } return 0;}
运行结果如下:
阅读全文
0 0
- 牛顿插值函数C语言程序实现
- 用牛顿插值多项式求函数近似值的算法,能用C语言编程实现
- 10个重要的算法C语言实现源代码(其2--牛顿插值)
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯等等
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 (转帖)
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- MATLAB 牛顿插值函数
- Java在web页面上中文URL乱码解决
- 线程中CreateEvent和SetEvent及WaitForSingleObject
- Sequence discriminative training
- mac 终端 常用命令
- Rehashing
- 牛顿插值函数C语言程序实现
- 上下拉电阻的作用
- window.location与window.open()的区别 "top.location.href"是最外层的页面跳转
- Attach detach controller manager 流程
- 51Nod 1264 线段相交 <叉积计算>
- 开启博客记录科研生活的第一天
- 文章标题
- 阿丹学理财之财富认知
- kafka_producer接口(旧版)