给定数据点(xi ,yi),用最小二乘法拟合数据的多项式,并求平方误差。

有了之前多个程序的磨练,这次程序非常简单,用公式算出矩阵中的待求数值,再用高斯消元法求出a0和a1,写出拟合方程,再带入x,y值求出误差平方和即可。

代码

#include<stdio.h>
#include<math.h>
int i,j,k;
float x[10000];
float y[10000];
float z[10000];
float l[10000];
float a[10000][10000];
float X1,X2,X3,X4,Y1,Y2,Y3,sum1,sum2,sum3;
int n=7;
int N=2;
int main(){sum1=0;sum2=1;sum3=1;printf("输入x值\n");for(j=0;j<n;j++)scanf("%f",&x[j]);printf("输入y值\n");for(i=0;i<n;i++)scanf("%f",&y[i]);for(i=0;i<n;i++)X1+=x[i];for(i=0;i<n;i++)X2+=x[i]*x[i];for(i=0;i<n;i++)Y1+=y[i];for(i=0;i<n;i++)Y2+=x[i]*y[i];a[1][1]=7;a[1][2]=X1; a[1][3]=Y1;a[2][1]=X1;a[2][2]=X2;a[2][3]=Y2;for(k=1;k<N;k++)for(i=k+1;i<=N;i++){for(j=k+1;j<=N+1;j++)a[i][j] = a[i][j] - a[k][j]*a[i][k]/a[k][k]; }  z[N]=a[N][N+1]/a[N][N];for(k=N-1;k>=1;k--){z[k]=a[k][N+1]; for(j=k+1;j<=N;j++)z[k]-=a[k][j]*z[j];z[k]=z[k]/a[k][k];}printf("a0,a1的值为\n");for (i = 1; i <= N; i++)     printf("%f\n",z[i]);for (i = 0; i <n; i++){sum1=z[1]+z[2]*x[i];sum2=sum1-y[i];sum3+=sum2*sum2;}printf("误差平方和:%f\n",sum3);return 0;
}

计算机数值方法之最小二乘法拟合多项式C语言相关推荐

  1. 【Matlab】最小二乘法拟合多项式

    前言 在最近的电机项目中,有遇到有传感器数据并不线性的问题,然后想要用最小二乘法做个曲线拟合,反过来去校准不线性的传感器的数据,因此记录一下使用最小二乘法来拟合多项式的曲线的步骤.本篇从最小二乘法的原 ...

  2. Python 最小二乘法拟合多项式

    最小二乘法拟合多项式 一.功能 二.最小二乘法拟合多项式 三.运行结果 一.功能   利用最小二乘法去拟合直线.任意项高阶多项式. 二.最小二乘法拟合多项式   示例: import random i ...

  3. 最小二乘法拟合二次曲线 C语言

    转自:https://blog.csdn.net/frustratd/article/details/80968772 题目 X[21] = {0.00,0.056,0.112,0.168,0.224 ...

  4. 最小二乘法拟合多项式原理以及c++实现

    转载请注明出处:http://blog.csdn.net/lsh_2013/article/details/46697625 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻 ...

  5. 最小二乘法拟合圆c语言,最小二乘法拟合圆公式推导及其实现

    https://blog.csdn.net/Jacky_Ponder/article/details/70314919 1.1最小二乘拟合圆介绍与推导 最小二乘法(least squares anal ...

  6. matlab 最小二乘法拟合_机器学习十大经典算法之最小二乘法

    点击上方"计算机视觉cv"即可"进入公众号" 重磅干货第一时间送达 最小二乘法概述 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找 ...

  7. 趣学python3(38)--多项式最小二乘法拟合

    class numpy.poly1d(c_or_r, r=False, variable=None)[source] 参数: c_or_r:array_like 多项式的系数,或者如果第二个参数的值是 ...

  8. 最小二乘多项式拟合程序matlab,最小二乘法的多项式拟合(matlab实现)

    1.用最小二乘法进行多项式拟合(matlab实现)西安交通大学 徐彬华算法分析:对给定数据 (i=0 ,1,2,3,.,m),一共m+1个数据点,取多项式P(x),使函数P(x)称为拟合函数或最小二乘 ...

  9. 多项式拟合缺点_拟合多项式的最小二乘法

    T 20.5 32.7 51.0 73.0 95.7 R 765 826 873 942 1032 多项式拟合: 已知变量 x , y 之间的函数关系为: n n-1 1 2 n n+1 y=a x ...

最新文章

  1. 超全!深度学习在计算机视觉领域的应用一览
  2. Aix6.1安装openssh
  3. linux下载文件的常用命令wget
  4. Google Nexus5在linux下刷原生安卓 android6.0
  5. FileInfo.LastWriteTime和FileInfo.LastAccessTime的值不是准确的
  6. linux-vim操作-查找与替换
  7. 分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的十个词打印出来...
  8. 比目鱼搜索不能用了_win10搜索功能失效解决办法
  9. 获取WebView缩放控件,并对其进行改造
  10. Spring web项目中web.xml常用的配置
  11. 第七讲:tapestry可预览的模板页
  12. 计算机专业岗位细分及学习必备清单
  13. SpringMVC实现AJax以及RestFull风格
  14. 互评Alpha版本—SkyHunter
  15. Linux课程---3、Linux远程登录和传输(操作Linux服务器软件)
  16. Android SDK的下载与安装
  17. Java - 类加载器
  18. VLSI Basic4——antenna effect天线效应
  19. 计算机专业男生好撩吗,撩男生很甜很撩的句子 一撩一个准
  20. Java机器学习库(Java ML)(四、SVM分类器)

热门文章

  1. 互联网晚报 | 潮州特斯拉事故前视频公布;苹果为iPhone 14提供同机维修;文旅部:跨省旅游经营活动不再与风险区实施联动管理...
  2. 专门卖游戏辅助的平台_各大游戏售卖平台
  3. 推荐系统 - 基于标签的推荐算法
  4. mysql主从配置duxi_​WordPress大前端主题DUX 5.1
  5. Java TCP实现高仿版QQ聊天(一)
  6. OPENSTREETMAP电力数据的情况
  7. 崔希凡JavaWeb笔记day28(JavaWeb完毕)(期末,暂停更新)(2016年11月16日12:24:03)
  8. Android动态图文混排,Android控件TextView实现静态图与动态GIF图文混排
  9. 卡塔尔世界杯门线技术(GOAL LINE TECHNOLOGY)背后的黑科技
  10. nanopore测序技术专题(一):为什么要选择nanopore测序?