MATLAB数学实验报告

上传人:M****1 文档编号:508178491 上传时间:2022-10-19 格式:DOCX 页数:15 大小:314.10KB
返回 下载 相关 举报
MATLAB数学实验报告_第1页
第1页 / 共15页
MATLAB数学实验报告_第2页
第2页 / 共15页
MATLAB数学实验报告_第3页
第3页 / 共15页
MATLAB数学实验报告_第4页
第4页 / 共15页
MATLAB数学实验报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

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

1、 MATLAB数学实验报告实验日期:2012.5学院:能源与动力工程班级:化工11组员:王旭 2110308015 陆清华 2110308011 仲秋晨 2110308024一、 实验目的1. 学习MATLAB软件的循环和选择结构,进一步提高MATLAB编程能力;2. 通过对一些基础数学实验的学习和实践,了解级数逼近和数值积分、用最小二乘法进行数据拟合等的数学思想和数学方法,开拓数学视野,提高数学水平。二、 实验内容1.(1)问题:对于数列n,n=1,2,,求当其前n项和不超过1000时的值以及和的大小。 (2)分析:这个问题书上已有例题解答,不过书上的程序运行结果最后一行结果并不是我们所要求

2、的解的答案,而倒数第二行则是所求问题的解。以下是修改后的程序已解决此问题。 (3)程序:clear;clc;n=1;s=1;while s=1000 fprintf(n=%.0f,s=%.4fn,n,s) n=n+1; s=s+sqrt(n);end (4)运行结果 n=123,s=914.7651n=124,s=925.9007n=125,s=937.0810n=126,s=948.3060n=127,s=959.5754n=128,s=970.8891n=129,s=982.2469n=130,s=993.64872.(1)问题:1790年到1980年各年美国人口数的统计数据如下表: 美国

3、人口统计数字(单位:百万)年份17901800 18101820183018401850186018701880统计3.95.37.29.612.917.123.231.438.650.2年份1890190019101920193019401950196019701980统计62.072.092.0106.5123.2131.7150.7179.3204.0226.5 是根据前100年的数据,分别用Malthas模型和Logistic模型建立美国人口增长的近似曲线(设美国人口总容纳量为10亿),并预测后00年的人口数,通过与实际数据相比较,对两种预测结果进行分析。 (2)分析:根据题目要求分别

4、用Malthas模型和Logistic模型建立美国人口增长的近似曲线。 (3)程序:%Malthasclear;clft=1790:10:1980;N=3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.0 72.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5;plot(t,N,k.,markersize,20);axis(1790 2080 3 400);grid;hold onpause(0.5)n=20;a=sum(t(1:n);b=sum(t(1:n).*t(1:n);c=sum(log(N

5、(1:n);d=sum(t(1:n).*log(N(1:n);A=n a;a b;B=c;d;p=inv(A)*Bx=1790:2000;y=exp(p(1)+p(2)*x);plot(x,y,r-,linewidth,2)%Logisticclear;clft=1790:10:1980;N=3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.0 72.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5;plot(t,N,k.,markersize,20);axis(1790 2080 0 1000);

6、grid;hold onpause(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=n a;a b;B=c;d;p=inv(A)*Bx=1790:10:2080;y=1./(1./k)+exp(p(1)+p(2)*x);plot(x,y,r-,linewidth,2)3. (1)追击问题:在一边长为1的正方形跑到的四个顶点上各站有1人,他们同时开始以等速度沿跑道追逐下一个人,在追击过程中,每个人时刻对准目标,试模拟追击路线。(2)分析

7、:参考书上导弹追击飞机问题。设4人为A,B,C,D,则先把A看做飞机,把追击A的B看做导弹进行模拟;再把B看做飞机,把追击B的C看做导弹进行模拟,以此类推。(3)程序:clear;clc;clf;hold onaxis(0 110 0 110);gridA=0,0;B=100,0;C=100,100;D=0,100;k=0;v=1;dt=1;while k10000; 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(

8、D(1),D(2),g.,markersize,15); d=norm(A-B);e=(A-B)/d; fprintf(k=%.0f A(%.2f,%.2f) B(%.2f,%.2f) C(%.2f,%.2f) D(%.2f,%.2f)d=%.2fn,k,A(1),A(2),B(1),B(2),C(1),C(2),D(1),D(2),d) if d1.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*

9、dt*e; pause(0.2)end(4)结果4. (1)问题:【水塔流量的估计】美国某州的用水管理机构要求各社区提供以每小时多少加仑计的用水量以及每天的用水量。许多社区没有测量流入或流出水塔水量的装置,只能代之以每小时测量水塔中的水位,其误差不超过5%。淡水他每天有1到2次的水泵供水,每次约两小时。当水塔中的水位下降到最低水位L时,水泵就自动向水塔输水直到最高水位H,此期间不能测量水位。现在,已知该塔是一个高40ft(英尺),直径57ft的正圆柱,某小镇一天水塔水位的记录数据为下表: 某小镇某天水塔水位记录时间(s)水位(ft)时间(s)水位(ft)031.754663633.503316

10、31.104995332.60663530.545393631.671061929.945725430.871393729.476057430.121792128.926455429.272124028.506853528.422522327.957185427.672854327.527502126.973228426.9779254水泵开启35932水泵开启82649水泵开启39332水泵开启8596834.753943535.508995333.974331834.459327033.40其中水位降至约27ft水泵开始工作,水位上升到35.5ft时停止工作。试估计任何时刻t(包括书泵工作

11、时间)从水塔中流出的水流量Q(t),并估计一天的总水量。(2)分析: 1)拟合水位-时间函数 测量记录看,一天有两个供水时段(以下称第1供水时段和第2供水时段),和3个水泵不工作时段(以下称第1时段t=0到t=32284,第2次时段t=39435到t=75021和第3时段t=85968以后)对第1、2时段的测量数据直接分别作多项式拟合,得到水位函数为使拟合曲线比较光滑,多项式次数不要太高,一般在36由于第3时段只有3个测量记录,无法对这一时段的水位作出较好的拟合 2)确定流量时间函数 对于第1、2时段只需将水位函数求导数即可,对于两个供水时段的流量,则用供水时段前后(水泵不工作时段)的流量拟合

12、得到,并且将拟合得到的第2供水时段流量外推,将第3时段流量包含在第2供水时段内 3)一天总用水量的估计 总用水量等于两个水泵不工作时段和两个供水时段用水量 之和,它们都可以由流量对时间的积分得到。 (3)程序:t1=0 3316 6635 10619 13937 17921 21240 25223 28543 32284 39435 43318 46636 49953 53936 57254 60574 64554 68535 71854 75021 85968 89953 93270;h=31.75 31.10 30.54 29.94 29.47 28.92 28.50 27.95 27.5

13、2 26.97 35.50 34.50 33.50 32.60 31.67 30.87 30.12 29.27 28.42 27.67 26.97 34.75 33.97 33.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)=%.4fx2+%.4fx+%.4fn,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); fpr

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号