下载此文档

用C语言实现的曲线拟合的最小二乘法.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
实验名称:曲线拟合的最小二乘法
实验目的
了解曲线拟合的最小二乘法
实验类型
设计型
实验环境
Windows XP TC
实验内容
相关知识:已知C[a,b]中函数f(x)的一组实验数据(xi,yi)(i=0,1,…,m),其中yi=f(xi)。设是C[a,b]上线性无关函数族。在中找函数f(x) 曲线拟合的最小二乘解,其法方程(组)为:
其中,
k=0,1,…,n
特别是,求函数f(x) 曲线拟合的线性最小二乘解的计算公式为:
数据结构:两个一维数组或一个二维数组
算法设计:(略)
实验用例: 已知函数y=f(x)的一张表:
x
0
10
20
30
40
50
60
70
80
90
y
68








60
试验要求:利用曲线拟合的线性最小二乘法求被逼近函数f(x)在点x=55处的近似值,并画出实验数据和直线。
编写代码:
#include<>
#include<>
#include<>
double qiuhe1(double a[10][2],int p)
{
int i;
double y;
y=0;
for(i=0;i<10;i++)
y=y+a[i][p];
return y;
}
double qiuhe2(double a[10][2],int p)
{
int i;
double y=0;
for(i=0;i<10;i++)
y=y+a[i][0]*a[i][p];
return y;
}
double nihe(double a[10][2],double x)
{
double a1,b,y;
a1=(10*qiuhe2(a,1)-qiuhe1(a,0)*qiuhe1(a,1))/(10*qiuhe2(a,0)-qiuhe1(a,0)*qiuhe1(a,0));
b=(qiuhe2(a,0)*qiuhe1(a,1)-qiuhe1(a,0)*qiuhe2(a,1))/(10*qiuhe2(a,0)-qiuhe1(a,0)*qiuhe1(a,0));
y=a1*x+b;
return y;
}
int main()
{
double a[10][2]={0,68,10,,20,,30,,40,,50,,
60,,70,,80,,90,60};
double x,x1,q=1;
char c[12];
int i;
long n;
int arw[6]={515,235,520,240,515,245};
int arw1[6]={315,45,320,40,325,45};
int gdriver=IBM8514;
int gmode=IBM8514HI;
initgraph(&gdriver, &gmode, "c:\\TC20\\BGI");
cleardevice();
printf("input x:\n");

用C语言实现的曲线拟合的最小二乘法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人164922429
  • 文件大小0 KB
  • 时间2015-09-11