n=2,p=3.1415916319 n=3,p=3.1415926545 >> 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; while er>1.0e-5 s=0; for i=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.1415926829
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.通过对一些基础数学实验的学习和实践,我们掌握了级数逼近和 数值积分、用最小二乘法进行数据拟合等的数学思想和数学方法,能够解决生活中一些较为复杂的数学问题。