数值分析课程设计实验报告.docx

上传人:b****1 文档编号:2527788 上传时间:2023-05-03 格式:DOCX 页数:28 大小:788.02KB
下载 相关 举报
数值分析课程设计实验报告.docx_第1页
第1页 / 共28页
数值分析课程设计实验报告.docx_第2页
第2页 / 共28页
数值分析课程设计实验报告.docx_第3页
第3页 / 共28页
数值分析课程设计实验报告.docx_第4页
第4页 / 共28页
数值分析课程设计实验报告.docx_第5页
第5页 / 共28页
数值分析课程设计实验报告.docx_第6页
第6页 / 共28页
数值分析课程设计实验报告.docx_第7页
第7页 / 共28页
数值分析课程设计实验报告.docx_第8页
第8页 / 共28页
数值分析课程设计实验报告.docx_第9页
第9页 / 共28页
数值分析课程设计实验报告.docx_第10页
第10页 / 共28页
数值分析课程设计实验报告.docx_第11页
第11页 / 共28页
数值分析课程设计实验报告.docx_第12页
第12页 / 共28页
数值分析课程设计实验报告.docx_第13页
第13页 / 共28页
数值分析课程设计实验报告.docx_第14页
第14页 / 共28页
数值分析课程设计实验报告.docx_第15页
第15页 / 共28页
数值分析课程设计实验报告.docx_第16页
第16页 / 共28页
数值分析课程设计实验报告.docx_第17页
第17页 / 共28页
数值分析课程设计实验报告.docx_第18页
第18页 / 共28页
数值分析课程设计实验报告.docx_第19页
第19页 / 共28页
数值分析课程设计实验报告.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数值分析课程设计实验报告.docx

《数值分析课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《数值分析课程设计实验报告.docx(28页珍藏版)》请在冰点文库上搜索。

数值分析课程设计实验报告.docx

数值分析课程设计实验报告

数值分析课程设计实验报告

班级:

软件111

姓名:

吴明洲

学号:

2011122590

 

一、计算水塔的水流量

1、将所给的数据中的时刻输入到表格中,如下图所示:

2、计算出每两个相邻的时刻之间的时间差(表格列B(n)=A

(1)-A(n)),然后除以2(表格列C(n)(n)/2)得到相邻两个时刻的中间时刻:

3、将原始数据中的水位数据输入到该表格中:

4、根据公式:

*D*D*4计算各个时刻水塔中水的体积(表格列E(n)*D*D*表格列D(n)/4),然后求出各个时间段内用水的体积(表格列F(n)

(1)(n)):

5、求中间时刻的用水率,即求该时间段(时刻差)内的平均用水量(表格列G(n)(n)(n)):

6、将中间时刻和中间时刻的用水率复制到另一张表中,以便处理(这时共产生22组数据):

到这里所有的数据处理已经结束。

接下来是研究数据所包含的规律,根据数据提出适当的数学模型,拟合一条光滑的连续的曲线。

 

7、在中有拟合曲线的工具,所以我先用中的工具对这组数据进行了拟合

*画出散点图:

*确定横纵坐标的意义:

*形成散点图:

*通过添加趋势线,来拟合光滑曲线:

*得到拟合的函数曲线,以及表达式

在中就可以很方便的拟合出比较符合要求的曲线,并且可以得到函数表达式。

 

然后开始尝试利用编程解决这个问题,也就是说用编程的方法得到相同的函数表达式!

最小二乘法通常用于曲线拟合,所谓拟合是指已知某函数的若干离散函数值{f12,…},通过调整该函数中若干待定系数f(λ1,λ2,…,λ3),使得该函数与已知点集的差别(最小二乘意义)最小。

如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。

表达式也可以是分段函数,这种情况下叫作样条拟合。

而插值是指已知某函数的在若干离散点上的函数值或者导数信息,通过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给定离散点上满足约束。

插值函数又叫作基函数,如果该基函数定义在整个定义域上,叫作全域基,否则叫作分域基。

如果约束条件中只有函数值的约束,叫作插值,否则叫作插值。

从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点而插值是找到一个(或几个分片光滑的)连续曲面来穿过这些点。

可以看出利用最小二乘法拟合比较方便,我采用的函数形式为多项式函数,最高次为5。

拟合部分代码执行结果如下:

 

经过比较,可以发现在误差允许的范围内通过拟合出来的函数和通过编程而拟合出来的多项式是相统一的。

然后再将该函数应用到中,利用程序代码所求出来的多项式,画出一条光滑连续的曲线,如果这条曲线和最上面在中,纯粹用拟合出来的曲线相同的话表明拟合成功!

1、按照递增的顺序,将从0-24的数据输入到中,如下图所示。

并在第二列中输入公式:

0.00015*A2*A2*A2*A2*A2+0.012193*A2*A2*A2*A2-0.366317*A2*A2*A2+4.760591*A2*A2-22.665987*A2+66.02523,

如下图所示。

将数据填充完毕:

利用和上面的相同的方法,直接选择光滑的曲线图,而不是选择散点图:

然后就画出了一条曲线:

经过比较,可以知道在误差允许的范围内数学模型已经成功建立!

到这里该问题的数学模型已经建立好了(采用编程所得的结果进行建模和进一步的计算):

f(t)=

-0.00015t5+0.012193t4-0.366317t3+4.760591t2-22.66598766.025230

最后再通过编程计算任意时刻的用水率、一天的总用水量和水泵的工作功率:

任意时刻的用水率的算法简单,只要给出任意时间,根据上面的式子就可以求出;

一天的总用水量为上式在0-24内的积分

∫024f(t)

=[-0.000025t6+0.0024386t5-0.09157925t4+1.58686367t3-11.3329935t2+66.02523]024

水泵的工作功率的计算方法是用一次的总泵水量除以泵水时间

水泵泵一次水泵水量为:

2**D*D*(h21)/4=2*3.1415926*17.4*17.4*(10.82-8.22)/4

泵水时间为:

21=(10.954-8.967)+(22.958-20.839)

所以水泵的工作功率为:

ρ(h21)/2T

其中ρ为水的密度(3),V为上面的体积(m3),g为重力单位(9.8)。

然后将程序加以修改,将上述的三个求解功能加进去就完成了本次设计。

最终源代码:

<>

<>

<>

();

();

();

([][][]);

()

{

i;

a[6];

x[22]={0.4605,1.382,2.396,3.41,4.4245,5.439,6.453,7.467,

8.4475,11.493,12.493,13.4145,14.4285,15.4425,16.3645,

17.3785,18.484,19.498,20.399,23.419,24.433,25.447};

y[22]={51.12036405,44.10152093,39.3445281,36.88021926,36.08693844,

33.01166479,34.61458483,35.33279747,38.44874,70.58616637,74.79205304,

70.74232197,60.78930702,62.99681227,58.99594462,55.73472518,55.68433211,

59.05993154,57.55529831,59.05993154,50.95438885,44.87523183};

(,22,5);

(0<=5)

("a[]\n"[i]);

("拟合多项式为:

\(t)=()*t*t*t*t*()*t*t*t*()*t*t*()*t*()*()\n"[5][4][3][2][1][0]);

();

();

s;

(1)

{

<<"您是否还要查询某时刻的用水率():

"<<;

>>s;

(s)

{

'Y':

();

;

'N':

;

}

('N')

;

}

}

(x[]y[]a[])

{

;

*[

(1)*

(2)];

();

(*[]);

(0<)

{

(0<)

{

*(*

(2))=0;

(0<1)

*(*

(2))([t]);

}

*(*

(2)1)=0;

(0<1)

*(*

(2)1)[j]*([j]);

}

(1);

c;

}

(*x[])

{

;

p;

(0<2)

{

;

(1<1)

((*(*

(1)))>((*(*

(1)))));

()

(<)

{

*(*

(1));

*(*

(1))=*(*

(1));

*(*

(1));

}

(1<1)

{

(*(*

(1)))/(*(*

(1)));

(<)

*(*

(1))*(*(*

(1)));

}

}

(1>=0)

{

(1>1)

(*(*

(1)))[j]*(*(*

(1)));

x[i]=*(*

(1))/(*(*

(1)));

}

}

(v)

{

1;

()a*;

a;

}

()

{

t;

<<"请输入任意一个时刻,程序将就算出该时刻的用水率"<<;

>>t;

0.00015*t*t*t*t*0.012193*t*t*t*0.366317*t*t*4.760591*t*22.665987*66.025230;

<

"<

}

()

{

v;

0.000025*24*24*24*24*24*24+0.0024386*24*24*24*24*24-0.09157925*24*24*24*24+1.58686367*24*24*24-11.3329935*24*24+66.02523*24;

<<"这个居民区的居民一天的用水量约为:

"<

}

()

{

3.1415926*17.4*8.7*(10.82-8.22);

2*(10.954-8.967)+(22.958-20.839);

*9.8*(10.82-8.22);

<<"该水塔的水泵的工作功率为"<

}

 

程序运行结果:

二、家乡温度问题

四川省江油市2013年6月2号一天的温度如下表:

时间(h)

0

1

2

3

4

5

6

7

8

9

10

11

温度(゜C)

23

23

23

23

22

23

24

26

27

28

29

30

时间(h)

12

13

14

15

16

17

18

19

20

21

22

23

温度(゜C)

31

31

32

31

31

30

30

29

28

28

27

27

实际温度曲线如下:

调试数据:

1

23

2

23.003

3

23.0058

4

23.0082

5

23.0101

6

23.0113

7

23.0115

8

23.0107

9

23.0086

10

23.0051

11

23

12

22.9962

13

22.9916

14

22.9869

15

22.9832

16

22.9812

17

22.982

18

22.9863

19

22.9952

20

23.0095

21

23

22

23.012

23

23.0279

24

23.044

25

23.0572

26

23.0638

27

23.0605

28

23.0439

29

23.0106

30

22.957

31

23

32

22.9546

33

22.889

34

22.8099

35

22.7242

36

22.6386

37

22.56

38

22.495

39

22.4505

40

22.4334

41

22

42

21.9425

43

21.9202

44

21.9273

45

21.958

46

22.0067

47

22.0677

48

22.1351

49

22.2033

50

22.2665

51

22.3191

52

23.1332

53

23.2542

54

23.3669

55

23.4757

56

23.5844

57

23.6974

58

23.8187

59

23.9524

60

24.1026

61

24.2734

62

24.1255

63

24.2711

64

24.4319

65

24.6033

66

24.7805

67

24.9587

68

25.1332

69

25.2993

70

25.4522

71

25.5871

72

26.1926

73

26.3654

74

26.5213

75

26.663

76

26.7935

77

26.9157

78

27.0324

79

27.1464

80

27.2607

81

27.378

82

27.075

83

27.1552

84

27.24

85

27.3286

86

27.4203

87

27.5144

88

27.6102

89

27.707

90

27.8041

91

27.9007

92

28.1074

93

28.2137

94

28.3188

95

28.4226

96

28.5252

97

28.6266

98

28.7267

99

28.8255

100

28.923

101

29.0192

102

29.0953

103

29.19

104

29.285

105

29.3809

106

29.4787

107

29.5791

108

29.6829

109

29.7909

110

29.9038

111

30.0225

112

30.1114

113

30.2263

114

30.3414

115

30.4536

116

30.5598

117

30.6569

118

30.7417

119

30.811

120

30.8617

121

30.8907

122

31.058

123

31.0969

124

31.1225

125

31.1406

126

31.1569

127

31.1773

128

31.2074

129

31.2531

130

31.3202

131

31.4145

132

31.0286

133

31.0821

134

31.1525

135

31.232

136

31.3125

137

31.3861

138

31.4447

139

31.4804

140

31.4853

141

31.4513

142

32.0548

143

32.0709

144

32.0563

145

32.0194

146

31.968

147

31.9105

148

31.8548

149

31.8092

150

31.7816

151

31.7804

152

30.8953

153

30.8185

154

30.7631

155

30.7225

156

30.6903

157

30.66

158

30.625

159

30.5789

160

30.5151

161

30.4273

162

30.9919

163

30.959

164

30.9072

165

30.8425

166

30.7706

167

30.6976

168

30.6291

169

30.5713

170

30.5298

171

30.5106

172

29.9092

173

29.8415

174

29.7919

175

29.7555

176

29.7271

177

29.7017

178

29.6744

179

29.6401

180

29.5937

181

29.5303

182

29.9995

183

29.9791

184

29.9411

185

29.8876

186

29.821

187

29.7435

188

29.6572

189

29.5644

190

29.4673

191

29

192

28.8639

193

28.7301

194

28.6008

195

28.478

196

28.3638

197

28.2604

198

28.1699

199

28.0944

200

28.0361

201

28

202

27.9458

203

27.9083

204

27.8828

205

27.8645

206

27.8488

207

27.8309

208

27.8062

209

27.7699

210

27.7173

211

28

212

27.9807

213

27.9405

214

27.8839

215

27.8159

216

27.7409

217

27.6638

218

27.5893

219

27.5221

220

27.4669

221

27

222

26.9032

223

26.8257

224

26.7654

225

26.72

226

26.6875

227

26.6658

228

26.6526

229

26.6458

230

26.6433

三次样条函数模拟曲线:

代码:

<>

<>

;

#24定义()的最大的维数

点的结构

{

x;

y;

};

()

{

("");

24;插值点的数目:

是24小时

;

[+1];

h[+1][+1][+1][+1][+1];

u[+1][+1][+1];

;

<<"请输入零点到23点的温度!

()已给出\n"输入插值点的数目

输入插值点()0值和值

(0<)

{

[i];

<<[i]<<"";

>>[i];

}

M[0]=0;0和的临界条件都是零

M[n]=0;

计算M关系式中各参数的值

h[0][1][0];

(1<)

{

h[i][1][i];

b[i][i]/(h[i][1])

c[i]=1[i];

d[i]=6*(([1][i])[i]-([i][1])[1])/(h[i][1]);

}

用追赶法计算1,…1

d[1]c[1]*M[0];

d[1][1]*M[n];

b[1]=0;

c[1]=0[0]=0;

(1<)

{

u[i]=2[i]*v[1];

v[i][i][i];

y[i]=(d[i][i]*y[1])[i];

}

(1<)

{

M[][][]*M[1];

}

(0<=230.1)

{

0;

(x>=[k])

;

1;

[1];

[k];

(p*p*p*M[k]*q*q*M[1])/(6*h[k])+(p*[k]*[1])/h[k][k]*(p*M[k]*M[k]*M[1])/6;

<

}

0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2