| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 612 人关注过本帖
标题:曲线拟和
只看楼主 加入收藏
hehuihh2004
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-3
收藏
 问题点数:0 回复次数:1 
曲线拟和

#include <stdio.h>
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
void main()
{
cout<<"***Least Sqares Polynomial Approximation***\n");
int N=16;
int M=2;
int i,j,k,L;
int X[17]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
double Y[17]={4.00,6.40,8.00,8.80,9.22,9.50,9.70,9.86,10.00,10.20,10.32,10.42,10.50,10.55,10.58,10.60};
double S[5],T[3],A[4][5];
for(j=0;j<16;j++)
cout<<X[j]<<","<<Y[j]<<endl;
for(i=0;i<=2;i++)
{
T[i]=0;
S[i]=0;
for(j=0;j<16;j++)
{
T[i]=T[i]+Y[j]* pow(X[j],i);
S[i]=S[i]+pow(X[j],i);
}
}
for(i=0;i<=M;i++)
{
S[M+i]=0;
for(j=0;j<16;j++)
S[M+i]=S[M+i]+pow(X[j],M+i);
}
for(i=0;i<=M;i++)
{
for(j=0;j<=M;j++)
{
A[i+1][j+1]=S[i+j];
cout<<setw(10*j)<<A[i+1][j+1];
}
A[i+1][M+2]=T[i];
cout<<setw(10*M+12)<<A[i+1][M+2]<<endl;
}

{

for(i=2;i<=M+1;i++)
A[i][1]=A[i][1]/A[1][1];
if(M>=2)
{
for(k=2;k<=M;k++)
{
for(j=k;j<=M+2;j++)
{
for(L=1;L<=k-1;L++)
{
A[k][j]=A[k][j]-A[k][L]*A[L][j];
}
}
for(i=k+1;i<=M+1;i++)
{
A[i][k]=A[k][i]/A[k][k];
}
}
}
for(j=M+1;j<=M+2;j++)
{
for(L=1;L<=M;L++)
{
A[M+1][j]=A[M+1][j]-A[M+1][L]*A[L][j];
}
}
A[M+1][M+2]=A[M+1][M+2]/A[M+1][M+1];
for(i=M;i>=0;i--)
{
for(L=i+1;L<=M+1;L++)
{
A[i][M+2]=A[i][M+2]-A[i][L]*A[L][M+2];
}
A[i][M+2]=A[i][M+2]/A[i][i];
}
}
for(i=0;i<=2;i++)
cout<<"a("<<i<<")="<<A[i+1][M+2]<<endl;
getchar();
}

搜索更多相关主题的帖子: 曲线 
2006-11-04 20:02
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
啊C++!不是很懂。

谁有强殖装甲第二部,可以Q我460054868
2006-11-04 20:38
快速回复:曲线拟和
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012189 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved