4.2-数值计算

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

4.2数值计算博山实验中学电教中心4.2数值计算人们对计算机的最初应用大多是数值计算,主要借助计算机运算速度快、精确度高的特点来解决各种数学问题,如函数的计算、方程的求解、数列求和等都属于数值计算。学习目标★感受数据的图形化表示。★设计解析式或迭代方程,进行数值计算,解决问题。★了解数值类算法在实际问题解决时的应用及常用方法。任务一绘制数学函数曲线在数学课上经常需要手工绘制函数图像,今天我们借助计算机来绘制函数图像。※活动1用WPS表格绘制正弦曲线利用平时使用的电子表格软件就能绘制函数图像。方法如下:若以30°为间隔,绘制0~360°之间的正弦函数图像,则首先需要在WPS中完成下列表格数据的计算。请填写表4.2.1。4.2.1函数计算4.2.1利用wps绘制函数图像※活动2利Python绘制正弦曲线仔细观察團像,会发现图像的关键点太少,精度不够,團像不光滑。要想提高图像的光滑程度,就要减小角度间隔,但间隔增加,工作量也会随之增加:每隔1°画一个点,数据表上就会增加300多行新数据;如果以0.1°为间隔,将有3000多行数据。借助计算机程序描点,可以达到速度快且精确度高的效果。下面我们尝试利用Python编写程序绘制正弦曲线。在Python中,绘制函数图像一般要用到numpy和matplotlib两个模块,这两个模块需要另外安装。numpy模块简介numpy是一个科学计算包,其中包含很多数学函数,如三角函数、矩阵计算方法等。通过该模块中的arange函数可以创建一个等差数列。如在0~2π之间每隔0.01取个值,则可以用arange(0,2*numpy.pi,0.01)来表示,其中numpy.pi表示π。下列代码可以产生sin(x)的若干个关键点。#加载numpy模块并取一个简洁的别名为np,便于后续引用importnumpyasnp#x在0到2π之间,每隔0.01取一个点x=np.arange(0,2*np.pi,0.01)y=np.sin(x)#通过解析式计算列表x对应的列表y的值matplotlib模块简介matplotlib模块是Python中最出色的绘图库,功能很完善。调用matplotlib.pyplot时,坐标系可以根据数值范围自动生成。matplotlib的绘图原理很简单,利用plot画线函数就可以在直角平面内轻松地将(x,y)坐标点对连接成平滑曲线。例如:在上述代码的适当位置增加下列语句,就可以将刚才生成的关键点连接起来。importnumpyasnp#加载numpy模块并取名为npimportmatplotlib.pyplotasplt#加载matplotlib.pyplot并取名为pltplt.plot(x,y)#将点对连线plt.show()#将绘制的函数图像窗口显示出来importnumpyasnp#加载numpy模块并取名为npimportmatplotlib.pyplotasplt#加载matplotlib.pyplot并取名为pltx=np.arange(0,2*np.pi,0.01)#x在0到2π之间,每隔0.01取一个点y1=np.sin(x)#求sin(x)对应的y1值y2=np.sin(-x)#求sin(-x)对应的y2值y3=np.sin(2*x)/2#求sin(2x)/2对应的y3值plt.plot(x,y1)#绘制sin(x)图像plt.plot(x,y2)#绘制sin(-x)图像plt.plot(x,y3)#绘制sin(2*x)/2图像plt.title('sin(x)')#设置图像标题plt.xlabel('X')#设置X轴标题plt.ylabel('Y')#设置Y轴标题plt.show()#将绘制的函数图像窗口显示出来input(运行完毕,请按回车键退出...)利用python程序绘制的函数图象※活动1用WPS求解数列斐波那契在《计算之书》中提出了一个有趣的兔子问题:假设一对兔子每个月可以生一对小兔子,一对兔子出生后第2个月就开始生小兔子。则一对兔子一年内能繁殖成多少对?10年呢?根据描述,兔子的对数如图4.2.3所示。※活动1用WPS求解数列从第3个月起,每个月大兔子的对数等于上个月大兔子与小兔子的对数之和(即上个月兔子总对数),每个月小兔子的对数等于上个月大兔子的对数(即上上个月兔子总对数)。使用电子表格可以很方便地求解,如图4.2.4所示。我们发现,当计算到第74个月的时候,由于数据范围及表示精度的问题,导致结果出错,如图4.2.5所示。※活动2用Python求解数列第1个月和第2个月的兔子对数之和为第3个月的兔子对数,第2个月和第3个月的兔子对数之和为第4个月的兔子对数....,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数的加数。这种重复反馈的过程称为迭代。迭代法也称辗转法,是用计算机解决问题的一种基本方法。迭代通常是为了接近并到达所需的目标或结果。每--次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一一次迭代的初始值。迭代斐波那契数列由于在迭代系列中的每个月份兔子对数只跟前两个月有关,因此在编写程序时,只需两个变量fl和12分别记录上上月和上月的数据。迭代计算的示意图如图4.2.6所示。根据示意图完成程序代码deffib(n):#迭代求Fibonacci数列f2=f1=1foriinrange(3,n+1):f1,f2=f2,f1+f2returnf2n=int(input('输入需要计算的月份数:'))print('兔子总对数为:',fib(n))input(运行完毕,请按回车键退出...)三个关键步骤利用迭代算法解决问题,有三个关键步骤:(1)确定迭代变量,如活动2中的f1、f2;(2)建立迭代关系式;(3)对迭代过程进行控制,这是编写迭代程序必须考虑的问题,不能让迭代过程无休止地重复执行下去。现代自然科学和工程电子技术的研究过程中,都离不开大规模的数学计算问题。例如:数学类课程中的线性方程求解、微分方程求解、概率统计等;实用性和实验性技术应用中的模拟核试验、油田开发、飞机设计等。

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功