收藏 分销(赏)

曲线拟合C语言程序.doc

上传人:天**** 文档编号:4318106 上传时间:2024-09-05 格式:DOC 页数:5 大小:35.51KB 下载积分:6 金币
下载 相关 举报
曲线拟合C语言程序.doc_第1页
第1页 / 共5页
曲线拟合C语言程序.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
#include<stdio.h> #include<math.h> void nihe(); void gs(); void main() { int i,j,m,n; float o[50]; float x[50] , y[50] ,a[50][50]; printf("输入数据节点数 n = ",n); scanf("%d",&n); for( i=1;i<=n;i++) { printf(" i = %d\n",i); } printf("各节点的数据 x[i] \n"); for(i=1;i<=n;i++) { printf("x[%d] = ",i); scanf("%f",&x[i]); } printf("各节点的数据 y[i] \n"); for(i=1;i<=n;i++) { printf("y[%d] = ",i); scanf("%f",&y[i]); } printf("\n"); printf("拟合的多项式次数 m = ", m); scanf("%d",&m); } void nihe(float x[50], float y[50], int m ,int n) { int i,j,k=0,c=1,w=1; float f,a[50][50] , o[50];; do { f=0; for(i=1;i<=n;i++) { f=f+pow( x[i] , k)*pow( x[i] , k); } a[c][c]=f ; a[c+1][c-1]=f; a[c-1][c+1]=f; c++; k++; }while(k<=m); k=1;c=1; do { f=0; for(i=1;i<=n;i++) { f=f+pow( x[i] , k); } a[c+1][c]=f; a[c][c+1]=f; c++; k++; k++; }while(k<=m+1); k=0;c=1; do { f=0; for(i=1;i<=n;i++) { f=f+y[i]*pow( x[i] , k); } k++; a[c][m+2]=f; c++; }while(k<=m); for(i=1;i<=m+1;i++) { for(j=1;j<=m+2;j++) { printf("%f\t",a[i][j]); } printf("\n"); } printf("------------------------------------------------------------------------\n"); } void gs(float a[50][50], float o[50], int m) { int i,j,c=1,z=1,t=1,w=1,n; float l,max,p,q; n=m+1; do { max=a[z][t]; for(i=z+1,j=t;i<=n;i++) { if(fabs(a[i][j])>fabs(max)) { max=a[i][j]; w=i; } else { w=z; } } if(c<=n-1) {for(i=z,j=t;j<=n+1;j++) { q=a[i][j]; a[i][j]=a[w][j] ; a[w][j]=q; } } for(i=1;i<=n;i++) { for(j=1;j<=n+1;j++) { printf("%f\t",a[i][j]); } printf("\n"); } printf("------------------------------------------------------------------------\n"); for(i=z,w=t;i<=n;i++) { l=a[i+1][w]/a[w][w]; for(j=1;j<=n+1;j++) { a[i+1][j]=a[i+1][j]-l*a[w][j]; } } z++; t++; c++; }while(c<=n); if(a[n][n]==0) { printf("矩阵奇异\n"); return; } else { i=n; o[i]=(a[i][n+1]/a[i][i]); for(i=n-1;i>=1;i--) { p=0; for(j=i;j<n;j++) { p=p+a[i][j+1]*o[j+1]; } o[i]=(a[i][n+1]-p)/a[i][i]; } } for(i=1;i<=m+1;i++) { printf("o[%d]=%f\n",i,o[i]); } }
展开阅读全文

开通  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 

客服