收藏 分销(赏)

最小二乘法-曲线拟合—C语言程序.doc

上传人:天**** 文档编号:4298971 上传时间:2024-09-04 格式:DOC 页数:3 大小:13.04KB 下载积分:5 金币
下载 相关 举报
最小二乘法-曲线拟合—C语言程序.doc_第1页
第1页 / 共3页
最小二乘法-曲线拟合—C语言程序.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
最小二乘法-曲线拟合 C语言程序,,经测试正确 #include<stdio.h> #include<math.h> #include<conio.h> float cf(int i,float f) { float g=1.0; while(i--) g*=f; return g; } void ColPivot(float a[99][99], int n, float b[99][1],float x[99]) { float max,m,temp; int k,q=0,i,j,I; for(k=0;k<n && q==0;k++) { max=a[k][k]; for(i=k+1;i<n;i++) if(fabs(max)<fabs(a[i][k])) { max=a[i][k]; I=i; } if(max==0) q=1; else { if(I!=k) { temp=b[I][0]; b[I][0]=b[k][0]; b[k][0]=temp; for(j=k;j<n;j++) { temp=a[I][j]; a[I][j]=a[k][j]; a[k][j]=temp; } } for(i=k+1;i<n;i++) { m=a[i][k]/a[k][k]; b[i][0]=b[i][0]-b[k][0]*m; for(j=0;j<n;j++) a[i][j]=a[i][j]-a[k][j]*m; } } } for(i=n-1;i>=0;i--) { for(j=n-1;j>=i+1;j--) b[i][0]=b[i][0]-a[i][j]*x[j]; x[i]=b[i][0]/a[i][i]; } } void main() { float x[99],y[99],z[99],s[99][99],t[99][1]; int n,m,i,j,k; printf("n="); scanf("%d",&n); printf("m="); scanf("%d",&m); printf("y[%]=",n); for(i=0;i<n;i++) scanf("%f",&y[i]); printf("z[%d]=",n); for(i=0;i<n;i++) scanf("%f",&z[i]); for(i=0;i<=m;i++) { for(j=0;j<=m;j++) {s[i][j]=0.0; for(k=0;k<=n-1;k++) s[i][j]+=cf(i+j,y[k]); } t[i][0]=0.0; for(j=0;j<=n-1;j++) t[i][0]+=z[j]*cf(i,y[j]); } for(i=0;i<=m;i++) s[i][m+1]=t[i][0]; for(i=0;i<=m;i++) { for(j=0;j<=m+1;j++) printf("%f\t",s[i][j]); printf("\n"); } ColPivot(s,m+1,t,x); printf("\n\n"); for(i=0;i<=m;i++) printf("\na[%d]=%f",i,x[i]); printf("\n\n"); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服