C语言程序设计调研报告doc14共17页Word文档格式.docx
- 文档编号:13487176
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:12
- 大小:28.21KB
C语言程序设计调研报告doc14共17页Word文档格式.docx
《C语言程序设计调研报告doc14共17页Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计调研报告doc14共17页Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
3、学会用线性回归法建立数学模型
二程序设计的内容
一、数据文件
1.文件操作函数
(1)文件的打开fopen
#include<
stdio.h>
FILE*fopen(char*filename,char*type);
filename—文件名,字符串变量;
type—文件打开的方式(r,w,a)
函数功能:
打开由文件filename指定的文件,并把一个stream与它联系起来。
返回一个指针,该指针用来识别随后操作的文件stream。
若成功地完成打开,则返回最近打开的文件stream,若出现错误,则返回NULL。
(2)文件的关闭fclose
intfclose(FILE*stream);
函数功能:
关闭指定的流式文件。
(3)fscanf—从流中执行格式化输入
#include<
intfscanf(FILE*stream,char*format[,argument,…]);
从指定的输入流中按规定的格式把数据读入由地址参数&
arg1,…&
argn给定的单元中。
(4)fprintf—发送格式化输出到流
intfprintf(FILE*stream,char*format[,argument,…]);
按规定的格式把数据输出到指定的流式文件stream中。
例:
#include“stdio.h”
main()
FILEfp,*fopen();
floatd,date[10][2];
inti,j;
fp=fopen(“试验数据.dat”,“r”);
for(i=0;
i<
10;
i++)
or(j=0;
j<
2;
j++)
fscanf(fp,“%f”,&
d);
date[i][j]=d;
fclose(fp);
例如,建立存储下列数据的数据文件,并对它进行读、写操作。
序号
Na2O
K2O
CaO
SiO2
弹性模量
1
7.26
8.16
12.68
72
7.2636
2
6.76
7.66
11.68
7.2582
3
6.26
7.16
10.68
7.2456
4
74
7.2001
5
7.3130
6
7.2560
7
76
7.2558
8
7.1988
9
7.3086
二、线性回归法建立数学模型
1建立数学模型的方法
(1)机理分析法
(2)数据分析法
回归分析法---静态数模
时间序列分析法—动态数模(系统辨识)
(3)综合分析法
2建立线性回归模型的步骤
(1)第一步
一组试验数据(m组,m>
n)
目标:
求βj的估计值bj。
使。
用最小二乘法,使
由试验数据计算系数。
第二步求方程的解
第三步判断模型的显著性
1统计量
2给出显著水平
α(0.1,0.05,0.01)
3判断
F>
Fα显著呈线性关系
F<
Fα不显著不呈线性关系
(m=6,n=1)
X132147163179198222
Y00.61.11.82.43.1
Y=-4.688566+0.035669X
利用得到的Y的一个表达式,可以算出相应的弹性模量。
三源程序
1、立存储数据的数据文件,并对它进行读、写操作:
数据如上面的表格
(1)
charch;
FILE*fp;
if((fp=fopen("
F:
\\TC\\shujiu.txt"
"
r"
))==NULL)
printf("
filecannotbeopened\n"
);
exit
(1);
while((ch=fgetc(fp))!
=EOF)
fputc(ch,stdout);
fclose(fp);
上机调试通过
运行结果如下:
N0.Na2OK2OCaOSiO2Model
17.268.1612.68727.2636
26.767.6611.68727.2582
36.267.1610.68727.2456/*此程序为对F:
\\TC\\shujiu.txt的
47.267.6610.68747.2001文件进行输出*/
56.767.1612.68747.3130
66.268.1611.68747.2560
77.267.1611.68767.2558
86.768.1610.68767.1988
96.267.6612.68767.3086
(2)
FILE*fp;
floatd,date[9][6];
fp=fopen("
printf("
\nPutthenumber:
\n"
9;
for(j=0;
6;
{fscanf(fp,"
%f"
&
date[i][j]=d;
%6.4f"
date[i][j]);
themunber:
for(i=0;
{printf("
%8.2f"
date[i][0]);
date[i][1]);
date[i][2]);
date[i][3]);
%4.2f"
date[i][4]);
%8.4f"
date[i][5]);
}
1.007.268.1612.6872.007.2636
2.006.767.6611.6872.007.2582
3.006.267.1610.6872.007.2456
4.007.267.6610.6874.007.2001
5.006.767.1612.6874.007.3130
6.006.268.1611.6874.007.2560
7.007.267.1611.6876.007.2558
8.006.768.1610.6876.007.1988
9.006.267.6612.6876.007.3086、
/*此程序为先对F:
\\TC\\shujiu.txt的文件进行打开,再导入到
一个二维数组里进行输出*/
2、璃弹性模量与成分之间的数学模型
源代码如下:
#include"
stdio.h"
inti,j,k,n,m;
charcele;
voidhead()
{for(i=0;
8;
%c"
003);
请选择要进行的操作:
"
020);
a.运行程序\n"
b.退出程序\n"
cele=getchar();
if(cele=='
a'
)printf("
else
exit
(1);
20;
%c%c"
001,002);
欢迎使用本程序"
\n\n\n\t\t^_^本程序根据已知的数据构件一个数学模型^_^\n\t其作用是通过分析构成物质,用计算机模拟出材料的弹性模量。
\n\n\n"
\t\t资源加工与生物工程学院\n\t\t\t\t\t\t\t%c无机0501班\n\n"
\t\t\t姓名:
金光龙\n"
\n\t\t\t\t\t\t\t学号:
0302050107\n\n"
head();
printf("
请输入行数m:
\t"
scanf("
%d"
m);
请输入列数n:
n);
floats[n][n+1],b[n],x[m+1][n+1],y[5];
floatr,t;
charcelect;
FILE*fp1;
fp1=fopen("
date1.txt"
/*date1.txt数据为100000
17.268.1612.68727.2636
16.767.6611.68727.2582
17.267.6610.68747.2001
16.767.1612.68747.3130
16.268.1611.68747.2560
17.267.1611.68767.2558
16.768.1610.68767.1988
16.267.6612.68767.3086*/
{fscanf(fp1,"
t);
x[i][j]=t;
fclose(fp1);
/*把文件中数赋给x[10][6]*/
5;
{s[i][j]=0;
for(k=1;
k<
k++)
s[i][j]+=x[k][i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 调研 报告 doc14 17