MATLAB数学实验报告.docx

上传人:b****7 文档编号:15793176 上传时间:2023-07-07 格式:DOCX 页数:20 大小:266.87KB
下载 相关 举报
MATLAB数学实验报告.docx_第1页
第1页 / 共20页
MATLAB数学实验报告.docx_第2页
第2页 / 共20页
MATLAB数学实验报告.docx_第3页
第3页 / 共20页
MATLAB数学实验报告.docx_第4页
第4页 / 共20页
MATLAB数学实验报告.docx_第5页
第5页 / 共20页
MATLAB数学实验报告.docx_第6页
第6页 / 共20页
MATLAB数学实验报告.docx_第7页
第7页 / 共20页
MATLAB数学实验报告.docx_第8页
第8页 / 共20页
MATLAB数学实验报告.docx_第9页
第9页 / 共20页
MATLAB数学实验报告.docx_第10页
第10页 / 共20页
MATLAB数学实验报告.docx_第11页
第11页 / 共20页
MATLAB数学实验报告.docx_第12页
第12页 / 共20页
MATLAB数学实验报告.docx_第13页
第13页 / 共20页
MATLAB数学实验报告.docx_第14页
第14页 / 共20页
MATLAB数学实验报告.docx_第15页
第15页 / 共20页
MATLAB数学实验报告.docx_第16页
第16页 / 共20页
MATLAB数学实验报告.docx_第17页
第17页 / 共20页
MATLAB数学实验报告.docx_第18页
第18页 / 共20页
MATLAB数学实验报告.docx_第19页
第19页 / 共20页
MATLAB数学实验报告.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB数学实验报告.docx

《MATLAB数学实验报告.docx》由会员分享,可在线阅读,更多相关《MATLAB数学实验报告.docx(20页珍藏版)》请在冰点文库上搜索。

MATLAB数学实验报告.docx

MATLAB数学实验报告

MATLAB数学试验汇报

试验日期:

.5

学院:

能源与动力工程

班级:

化工11

组员:

王旭陆清华仲秋晨

 

一、试验目

1.学习MATLAB软件循环和选择结构,深入提升MATLAB编程能力;

2.经过对部分基础数学试验学习和实践,了解级数迫近和数值积分、用最小二乘法进行数据拟合等数学思想和数学方法,开拓数学视野,提升数学水平。

二、试验内容

1.

(1)问题:

对于数列{√n},n=1,2,···,求当其前n项和不超出1000时值以及和大小。

(2)分析:

这个问题书上已经有例题解答,不过书上程序运行结果最终一行结果并不是我们所要求解答案,而倒数第二行则是所求问题解。

以下是修改后程序已处理此问题。

(3)程序:

clear;clc;

n=1;

s=1;

whiles<=1000

fprintf('n=%.0f,s=%.4f\n',n,s)

n=n+1;

s=s+sqrt(n);

end

(4)运行结果

···

n=123,s=914.7651

n=124,s=925.9007

n=125,s=937.0810

n=126,s=948.3060

n=127,s=959.5754

n=128,s=970.8891

n=129,s=982.2469

n=130,s=993.6487

2.

(1)问题:

1790年到1980年各年美国人口数统计数据以下表:

美国人口统计数字(单位:

百万)

年份

1790

1800

1810

1820

1830

1840

1850

1860

1870

1880

统计

3.9

5.3

7.2

9.6

12.9

17.1

23.2

31.4

38.6

50.2

年份

1890

1900

1910

1920

1930

1940

1950

1960

1970

1980

统计

62.0

72.0

92.0

106.5

123.2

131.7

150.7

179.3

204.0

226.5

是依据前1数据,分别用Malthas模型和Logistic模型建立美国人口增加近似曲线(设美国人口总容纳量为10亿),并估计后人口数,经过与实际数据相比较,对两种估计结果进行分析。

(2)分析:

依据题目要求分别用Malthas模型和Logistic模型建立美国人口增加近似曲线。

(3)程序:

%Malthas

clear;clf

t=1790:

10:

1980;

N=[3.95.37.29.612.917.123.231.438.650.262.072.092.0106.5123.2131.7150.7179.3204.0226.5];

plot(t,N,'k.','markersize',20);

axis([179020803400]);

grid;holdon

pause(0.5)

n=20;

a=sum(t(1:

n));

b=sum(t(1:

n).*t(1:

n));

c=sum(log(N(1:

n)));

d=sum(t(1:

n).*log(N(1:

n)));

A=[na;ab];

B=[c;d];

p=inv(A)*B

x=1790:

;

y=exp(p

(1)+p

(2)*x);

plot(x,y,'r-','linewidth',2)

%Logistic

clear;clf

t=1790:

10:

1980;

N=[3.95.37.29.612.917.123.231.438.650.262.072.092.0106.5123.2131.7150.7179.3204.0226.5];

plot(t,N,'k.','markersize',20);

axis([1790208001000]);

grid;holdon

pause(0.5)

n=20;

k=1000;

M=N.^-1-k^-1;

a=sum(t(1:

n));

b=sum(t(1:

n).*t(1:

n));

c=sum(log(M(1:

n)));

d=sum(t(1:

n).*log(M(1:

n)));

A=[na;ab];

B=[c;d];

p=inv(A)*B

x=1790:

10:

2080;

y=1./((1./k)+exp(p

(1)+p

(2)*x));

plot(x,y,'r-','linewidth',2)

3.

(1)追击问题:

在一边长为1正方形跑到四个顶点上各站有1人,她们同时开始以等速度沿跑道追逐下一个人,在追击过程中,每个人时刻对准目标,试模拟追击路线。

(2)分析:

参考书上导弹追击飞机问题。

设4人为A,B,C,D,则先把A看做飞机,把追击AB看做导弹进行模拟;再把B看做飞机,把追击BC看做导弹进行模拟,以这类推。

(3)程序:

clear;clc;clf;

holdon

axis([01100110]);

grid

A=[0,0];

B=[100,0];

C=[100,100];

D=[0,100];

k=0;

v=1;dt=1;

whilek<10000;

k=k+1;

plot(A

(1),A

(2),'r.','markersize',15);

plot(B

(1),B

(2),'b.','markersize',15);

plot(C

(1),C

(2),'y.','markersize',15);

plot(D

(1),D

(2),'g.','markersize',15);

d=norm(A-B);e=(A-B)/d;

fprintf('k=%.0fA(%.2f,%.2f)B(%.2f,%.2f)C(%.2f,%.2f)D(%.2f,%.2f)d=%.2f\n',k,A

(1),A

(2),B

(1),B

(2),C

(1),C

(2),D

(1),D

(2),d)

ifd<1.5

break

end

B=B+v*dt*e;

d=norm(B-C);e=(B-C)/d;

C=C+v*dt*e;

d=norm(C-D);e=(C-D)/d;

D=D+v*dt*e;

d=norm(D-A);e=(D-A)/d;

A=A+v*dt*e;

pause(0.2)

end

(4)结果

4.

(1)问题:

【水塔流量估量】美国某州用水管理机构要求各小区提供以每小时多少加仑计用水量以及天天用水量。

很多小区没有测量流入或流出水塔水量装置,只能代之以每小时测量水塔中水位,其误差不超出5%。

淡水她天天有1到2次水泵供水,每次约两小时。

当水塔中水位下降到最低水位L时,水泵就自动向水塔输水直到最高水位H,此期间不能测量水位。

现在,已知该塔是一个高40ft(英尺),直径57ft正圆柱,某小镇一天水塔水位统计数据为下表:

某小镇某天水塔水位统计

时间(s)

水位(ft)

时间(s)

水位(ft)

0

31.75

46636

33.50

3316

31.10

49953

32.60

6635

30.54

53936

31.67

10619

29.94

57254

30.87

13937

29.47

60574

30.12

17921

28.92

64554

29.27

21240

28.50

68535

28.42

25223

27.95

71854

27.67

28543

27.52

75021

26.97

32284

26.97

79254

水泵开启

35932

水泵开启

82649

水泵开启

39332

水泵开启

85968

34.75

39435

35.50

89953

33.97

43318

34.45

93270

33.40

其中水位降至约27ft水泵开始工作,水位上升到35.5ft时停止工作。

试估量任何时刻t(包含书泵工作时间)从水塔中流出水流量Q(t),并估量一天总水量。

(2)分析:

1)拟合水位-时间函数

测量统计看,一天有两个供水时段(以下称第1供水时段和第2供水时段),和3个水泵不工作时段(以下称第1时段t=0到t=32284,第2次时段t=39435到t=75021和第3时段t=85968以后).对第1、2时段测量数据直接分别作多项式拟合,得到水位函数.为使拟合曲线比较光滑,多项式次数不要太高,通常在3~6.因为第3时段只有3个测量统计,无法对这一时段水位作出很好拟合.

2)确定流量~时间函数

对于第1、2时段只需将水位函数求导数即可,对于两个供水时段流量,则用供水时段前后(水泵不工作时段)流量拟合得到,而且将拟合得到第2供水时段流量外推,将第3时段流量包含在第2供水时段内.

3)一天总用水量估量

总用水量等于两个水泵不工作时段和两个供水时段用水量

之和,它们都能够由流量对时间积分得到。

(3)程序:

t1=[033166635106191393717921212402522328543322843943543318466364995353936572546057464554685357185475021859688995393270];

h=[31.7531.1030.5429.9429.4728.9228.5027.9527.5226.9735.5034.5033.5032.6031.6730.8730.1229.2728.4227.6726.9734.7533.9733.40];

t=t1./3600;

s=pi*(57*0.3048/2)^2;

v=h.*0.3048.*s.*1000./3.78541

c1=polyfit(t(1:

10),v(1:

10),3);

a1=polyder(c1);

tp1=0:

0.1:

9;

x1=-polyval(a1,tp1);

fprintf('f1(t)=%.4fx^2+%.4fx+%.4f\n',a1

(1),a1

(2),a1(3));

plot(tp1,x1,'g-')

c2=polyfit(t(11:

21),v(11:

21),3);

a2=polyder(c2);

tp2=11:

0.1:

21;

x2=-polyval(a2,tp2);

fprintf('f3(t)=%.4fx^2+%.4fx+%.4f\n',a2

(1),a2

(2),a2(3));

holdon

plot(tp2,x2,'b-')

xx1=-polyval(a1,[89]);

xx2=-polyval(a2,[1112]);

xx12=[xx1xx2];

c12=polyfit([891112],xx12,3);

tp12=9:

0.1:

11;

x12=polyval(c12,tp12);

fprintf('f2(t)=%.4fx^3+%.4fx^2+%.4fx+%.4f\n',c12

(1),c12

(2),c12(3),c12(4));

holdon

plot(tp12,x12,'y-')

dt3=diff(t(22:

24));

dv3=diff(v(22:

24));

dvt3=-dv3./dt3;

t3=[2021t(22)t(23)];

a=[-polyval(a2,t3(1:

2))];

xx3=[advt3];

c3=polyfit(t3,xx3,3);

tp3=21:

0.1:

24;

x3=polyval(c3,tp3);

fprintf('f4(t)=%.4fx^3+%.4fx^2+%.4fx+%.4f\n',c3

(1),c3

(2),c3(3),c3(4));

holdon

plot(tp3,x3,'r-')

y1=0.1*trapz(x1);

y2=0.1*trapz(x2);

y12=0.1*trapz(x12);

y3=0.1*trapz(x3);

y=(y1+y2+y12+y3)

grid

(4)结果:

f1(t)=-143.7890x^2+1656.5813x+-13731.5134

f3(t)=-86.8481x^2+3341.3267x+-46996.7559

f2(t)=-903.1315x^3+26738.6695x^2+-257790.0151x+823129.9568

f4(t)=-3.8291x^3+41.6810x^2+3339.0536x+-37911.0031

总水量y=

3.3167e+05

5.

(1)问题:

试根据级数迫近和数值积分思想方法,计算π近似值(正确到10^-5)。

要求:

1)利用级数展开公式(7-2)—(7-6)来计算。

2)利用梯形法公式(7-10)、抛物线法公式(7-12)分别进行计算并加以比较。

(2)程序:

1)7-2

clc;clear;

n=0;r=1;

p=0;k=-1;

whiler>=1.0e-5

n=n+1;

k=k*(-1);

p1=p+k/(2*n-1);

r=abs(4*(p1-p));

fprintf('n=%.0f,p=%.10f\n',n,4*p1);

p=p1;

end

运行结果:

n=199979,p=3.

n=199980,p=3.

n=199981,p=3.

n=199982,p=3.

n=199983,p=3.

n=199984,p=3.

n=199985,p=3.

n=199986,p=3.

n=199987,p=3.

n=199988,p=3.

n=199989,p=3.

n=199990,p=3.

n=199991,p=3.

n=199992,p=3.

n=199993,p=3.

n=199994,p=3.

n=199995,p=3.

n=199996,p=3.

n=199997,p=3.

n=199998,p=3.

n=199999,p=3.

n=00,p=3.

n=01,p=3.

7-3

clc;clear;

n=0;r=1;p=0;

k=-1;a=1;b=1;

whiler>=1.0e-5

n=n+1;

k=k*(-1);

a=4*a;b=9*b;

p1=p+k/(2*n-1)*(2/a+3/b);

r=abs(4*(p1-p));

fprintf('n=%.0f,p=%.10f\n',n,4*p1);

p=p1;

end

运行结果:

n=1,p=3.

n=2,p=3.

n=3,p=3.

n=4,p=3.

n=5,p=3.

n=6,p=3.

n=7,p=3.

n=8,p=3.

7-4

clc;clear;

n=0;r=1;p=0;

k=-1;a=1;b=1;

whiler>=1.0e-5

n=n+1;

k=k*(-1);

a=25*a;b=239*239*b;

p1=p+k/(2*n-1)*(20/a-239/b);

r=abs(4*(p1-p));

fprintf('n=%.0f,p=%.10f\n',n,4*p1);

p=p1;

end

运行结果:

n=1,p=3.

n=2,p=3.

n=3,p=3.

n=4,p=3.

n=5,p=3.

7-5

clc;clear;

n=0;r=1;p=0;

k=-1;a=1;b=1;

whiler>=1.0e-5

n=n+1;

k=k*(-1);

a=9*a;b=49*b;

p1=p+k/(2*n-1)*(6/a+7/b);

r=abs(4*(p1-p));

fprintf('n=%.0f,p=%.10f\n',n,4*p1);

p=p1;

end

运行结果:

n=1,p=3.

n=2,p=3.

n=3,p=3.

n=4,p=3.

n=5,p=3.

n=6,p=3.

>>

7-6

clc;clear;

n=0;r=1;p=0;k=-1;

a=1;b=1;c=1;d=1;

whiler>=1.0e-5

n=n+1;

k=k*(-1);

a=28*28*a;b=443*443*b;c=1393*1393*c;d=11018*11018*d;

p1=p+k/(2*n-1)*(22*28/a+886/b-5*1393/c-110180/d);

r=abs(4*(p1-p));

fprintf('n=%.0f,p=%.10f\n',n,4*p1);

p=p1;

end

运行结果:

n=1,p=3.

n=2,p=3.

n=3,p=3.

>>

2)7-10

clc;clear;

f=inline('4./(1+x.*x)');

a=0;b=1;n=1;

h=(b-a)/n;

t1=h/2*(f(a)+f(b));

er=1;k=1;

whileer>1.0e-5

s=0;

fori=1:

n

s=s+f(a+(i-1/2)*h);

end

t2=(t1+h*s)/2;

er=abs(t2-t1);

fprintf('n=%.0f,p=%.6f,r=%.6f\n',k,t2,er);

n=2*n;h=h/2;t1=t2;

k=k+1;

end

运行结果:

n=1,p=3.100000,r=0.100000

n=2,p=3.131176,r=0.031176

n=3,p=3.138988,r=0.007812

n=4,p=3.140942,r=0.001953

n=5,p=3.141430,r=0.000488

n=6,p=3.141552,r=0.000122

n=7,p=3.141582,r=0.000031

n=8,p=3.141590,r=0.000008

7-12

clc;clear;

f=inline('4./(1+x.*x)');

a=0;b=1;n=1;

z=quad(f,a,b);

fprintf('z=%.10f\n',z)

运行结果:

z=3.

6.

(1)问题:

(排洪量)某河床横断面如图所表示,为了计算最大排洪量,需要计算它最大断面积,试依据图示测量数据(单位:

米)用梯形法计算其断面积。

河道河床截面图

(2)程序:

s1=0.5*1*4;

s2=0.5*(1+3)*(10-6);

s3=0.5*(3+6)*(12-10);

s4=0.5*(6+8)*(15-12);

s5=0.5*(8+9)*(22-15);

s6=0.5*(9+5)*(28-22);

s7=0.5*(3+5)*(34-28);

s8=0.5*3*(40-34);

s1+s2+s3+s4+s5+s6+s7+s8

(3)结果:

ans=

174.5000

三、试验小结

1.经过此次试验,我们熟练掌握了MATLAB软件循环和选择结构使用方法,提升了使用MATLAB编程处理问题能力;

2.经过对部分基础数学试验学习和实践,我们掌握了级数迫近和数值积分、用最小二乘法进行数据拟合等数学思想和数学方法,能够处理生活中部分较为复杂数学问题。

 

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

当前位置:首页 > 自然科学 > 物理

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

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