欢迎来到天天文库
浏览记录
ID:52046810
大小:1.65 MB
页数:34页
时间:2020-03-31
《知其然,更知其所以然.中国先哲.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、知其然,更知其所以然.-中国先哲哪里有数,哪里就有美.-Proclus数学实验上海交大数学科学学院的计算你也许能写出=3.1415926535实际问题―圆周率,我们十分熟悉的常数.用Matlab可以求出到几百位>>digits(100)>>vpa(pi)但你会计算的值吗?你又能用几种方法计算?ans=3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211
2、7068刘徽割圆法从正六边形开始,逐步求边长与面积oABCD相应ΔOAC的面积设边数为6·2n的正多边形边长为an递推法于是的值(刘徽计算到192边形面积,得到3.141)用Matlab计算m文件functioncalpi(n)a(1)=1;fori=1:n-1a(i+1)=sqrt(2-sqrt(4-a(i)^2));endS=3*2^(n-1)*a(n)命令窗口输入formatlonggcalpi(5)如何提高精度提高多边形的边数不能完全达到目的在Matlab文件中解决符号运算functio
3、ncalpi1(n)a(1)=sym(1);fori=1:n-1a(i+1)=sym(sqrt(2-sqrt(4-a(i)^2)));endS=3*2^(n-1)*a(n);vpa(S,60)%最后进行数值计算,60为数值计算过程中保留的有效数字任务1德国人鲁道夫用一生计算圆周率。他同样是用圆的内接多边形逼近圆周,不过他是从正方形开始成倍增加边数。试推导出他计算所采用的递推公式,然后求π的近似值到10位和20位.利用幂级数计算积分导出取x=1(Sn的迭代格式)用Matlab计算创建m文件calpi2
4、.m,内容如下:functioncalpi2(n)S=0;fori=1:nifmod(i,2)==0S=S-1/(2*i-1);elseS=S+1/(2*i-1);endendS=4*S>>calpi2(1000)ans=3.14059265383979>>calpi2(10000)ans=3.14149265359003结果如何?>>calpi2(20000)ans=3.14154265358982精度提高很慢!能不能算得更快一点、更精确一点?Machin公式简单公式用Matlab创建m文件func
5、tioncalpi2_1(n)S=0;fori=1:nifmod(i,2)==0S=S-1/(2*i-1)*(1/(2^(2*i-1))+1/(3^(2*i-1)));elseS=S+1/(2*i-1)*(1/(2^(2*i-1))+1/(3^(2*i-1)));endendS=vpa(4*S,30)%观察30位有效数字>>calpi2_1(10)ans=3.14159257960635063255949717131计算结果>>calpi2_1(20)ans=3.1415926535897562565
6、9354591335>>calpi2_1(50)ans=3.14159265358979323846264338328一个结论算法很重要计算机速度300次/秒33.861040兆/秒从19502000年104次/秒1012次/秒,提高1亿倍算法(解线性方程组高斯消去法多重网格法)计算机速度运算次数:1018次106次,提高1万亿倍任务22)验证公式1)用反正切函数的幂级数展开式结合有关公式简单公式和Machin公式所用的项数.求,若要精确到40位、50位数字,试比较试用此公式右端作幂
7、级数展开完成任务1)所需的项数3)回忆在微积分中学习到的其它级数形式是否可用来求的值到10位、20位、30位,相应需要级数的多少项?将[0,1]区间n等分,取xk=k/n,利用数值积分方法yk=1/(1+xk2)Matlab计算创建m文件梯形法functioncalpi3(n)x=0:1/n:1;y=1./(1+x.^2);S=2*sum(y)-1-0.5;2*S/n>>calpi3(100)ans=3.14157598692313>>calpi3(500)ans=3.14159198692313>
8、>calpi3(10000)ans=3.14159265192314用数值积分计算,分别用梯形法和Simpson法精确到10位数字,用Simpson法精确到15位数字.任务3针与平行线相交的次数为nMonteCarlo法从Buffon落针实验谈起:纸上一组平行线距离为1,将长度为1的针多次地扔到纸上。若扔针次数为m,而其中Buffon指出:的数值与m/n有关,他由此求出的近似值为3.142设计方案=4m/n计算机模拟:产生区间[0,1]上数目为n
此文档下载收益归作者所有