资源简介 (共25张PPT)第2单元 编程计算第1单元 初识数据与计算第3单元 认识数据第4单元 计算与问题解决第5单元 数据分析与人工智能信息技术(必修1)4.2 数值计算学习目标★ 感受数据的图形化表示。★ 设计解析式或迭代方程,进行数值计算,解决问题。★ 了解数值类算法在实际问题解决时的应用及常用方法。导入新课什么是数值计算?数值计算,其实是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象,借助计算机运算速度快、精确度高的特点来解决各种数据问题。函数计算方程求解数列求和数值计算项目提出项目:与数学公式面对面任务一:绘制数学函数曲线任务二:求解斐波那契数列数学课上的描点法绘制函数图像1.建立平面直角坐标系2.根据解析式计算出若干点的坐标并画在坐标系内3.将这些点依次连接起来通过描点法会发现,若想画出精度相对较高的函数,则需取多个绘制点进行绘制。想画出趋于完美的函数曲线则需要花费较长时间。如何借助计算机绘制数学函数曲线?建立WPS表格完善相关数据建立折线图图表x sin(x) sin(-x) sin(2x)/21 0 0 0 02 30 0.5 -0.5 0.53 60 0.866025404 -0.866025404 0.866025404… … … … …14 360 0 0 0活动1 用WPS表格绘制正弦曲线B2单元格中的公式=SIN(PI()*A2/180)C2单元格中的公式=SIN(-PI()*A2/180)D2单元格中的公式=SIN(2*PI()*A2/180)/2PI( )即数学常量π,使用此函数可以将π值精确到小数点后14位。PI( )/180则相当于1度。填表之后,选择相应的数据,建立折线图图表,设置x轴数据系列格式,可绘制出函数的图像。用WPS表格绘制函数图像还是不太方便,我们还可以用什么样的方法实现函数的绘制呢?操作步骤:选择数据——插入——x、y散点图——带平滑线的散点图仔细观察图像,会发现图像的关键点太少,精度不够,图像不光滑。要想提高图像的光滑程度,就要减小角度间隔,但间隔增加,工作量也会随之增加:每隔1°画一个点,数据表上就会增加300多行新数据;如果以0.1°为间隔,将有3000多行数据。可以借助计算机程序描点绘制函数来达到速度快且精度高的效果。numpy 模块简介numpy是一个科学计算包,其中包含很多数学函数,如三角函数、矩阵计算方法等。通过该模块中的arange函数可以创建一个等差数列。如在0~2Π之间每隔0.01取个值,则可以用arange(0, 2*numpy.pi ,0.01)来表示, 其中numpy.pi表示Π 。下列代码可以产生sin(x)的若干个关键点。活动二:利用Python绘制正弦曲线在Python中,绘制函数图像一般要用到numpy和matplotlib两个模块,这两个模块需要另外安装。#加载numpy模块并取一个简洁的别名为np,便于后续引用import numpy as np#x在0到2Π:之间,每隔0.01取一个点x=np.arange(0,2*np.pi,0.01) #调用numpy模块的arange函数,其参数为开始参数0,结束参数2*np.pi,间隔参数0.01y=np.sin(x) #通过解析式计算列表x对应的列表y的值Numpy应用—创建三角函数图像matplotlib 模块简介matplotlib模块是Python中最出色的绘图库,功能很完善。调用matplotlib.pyplot时,坐标系可以根据数值范围自动生成。matplotlib的绘图原理很简单,利用plot画线函数就可以在直角平面内轻松地将(x, y)坐标点对连接成平滑曲线。例如:在上述代码的适当位置增加下列语句,就可以将刚才生产的关键点连接起来。#加载matplotlib.pyplot并取别名为pltimport matplotlib.pyplot as pltplt.plot(x,y) #plot()函数将点对连线plt.show() #show()函数将绘制的图像窗口显示出来import numpy as npplt.plot(x,y)x=np.arrange(0,2*np.pi,0.01)import matplotlib.pylot as plty=np.sin(x)plt.show()利用arrange函数取点开始加载numpy模块加载matplotlib.pylot模块求sin(x)对应的y的值绘制sin(x)的图像显示绘制的图像结束参考前页代码,让我们一起来完善以下Python程序,尝试绘出"sin(x)" "sin(-x)"和“sin(2x)/2" 的图像。______________________ #加载numpy模块并取名为npImport matplotlib.pyplot as plt #加载matplotlib.pyplot并取别名为plt______________________ #列表x在0到加之间,每隔0.01取一个点______________________ #求sin(x)对应的列表y1的值y2=np.sin(-x) #求sin(-X)对应的列表y2的值______________________ #求sin(2x)/2对应的列表y3的值plt.plot(x,y1) #绘制sin(x)的图像① import numpy as np② x=np.arrange(0,2*np.pi,0.01)③ y1=np.sin(x)④ y3=(np.sin(2*x))/2①④②③____________________________ #绘制sin(—X)的图像____________________________ #绘制sin(2x)/2的图像plt.title(‘sin(x)’) #设置图像标题plt.xlabel(‘x’) #设置X轴标题plt.ylabel(‘y’) #设置Y轴标题plt.show( ) #将绘制的函数图像窗口显示出来⑤ plt.plot(x,y2)⑥ plt.plot(x,y3)⑤⑥运行代码,对比在活动1中生成的图像,程序绘制的函数图像果然平滑了很多,如下图图所示。Python语言绘制的函数图像Wps电子表格绘制的函数图像项目提出项目:与数学公式面对面任务一:绘制数学函数曲线任务二:求解斐波那契数列活动1 用WPS求解数列斐波那契在《计算之书》中提出了一个有趣的兔子问题:假设一对兔子每个月可以生一对小兔子,一对兔子出生后第2个月就开始生小兔子。则一对兔子一年内能繁殖成多少对?10年呢?从笫3个月起,每个月大兔子的对数等于上个月大兔子与小兔子的对数之和(即上个月兔子总对数), 每个月小兔子的对数等于上个月大兔子的对数(即上上个月兔子总对数)。使用电子表格求解...我们发现,当计算到第74个月的时候,由于数据范围及表示精度的问题,导致结果出错。借助电子表格软件计算时,只能算到第74个月,而我们需要计算10年即第120个月的兔子数量。下面,我们借助python语言进行求解。第1个月和第2个月的兔子对数之和为第3个月的兔子对数第2个月和第3个月的兔子对数之和为笫4个月的兔子对数…第118个月和第119个月的兔子对数之和为第120个月的兔子对数每个月的兔子对数是前两个月的兔子对数之和, 又同时作为下一个月兔子对数的加数。这种重复反馈的过程称为迭代。活动2 用Python 求解数列第n-2个月第n-1个月第n个月第n-1个月第n个月第n+1个月迭代法迭代法也称辗转法,是用计算机解决问题的一种基本方法。迭代通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次"迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。由于在迭代系列中的每个月份兔子对数只跟前两个月有关,因此在编写程序时,只需两个变量f1记录上上个月的数据,用f2记录上个月的数据。f1f2F1+f2③①②迭代计算的示意图根据示意图完善下列程序代码。def fib(n):#利用迭代求斐波那契数列的第n个数f2=f1=1for i in range(3,n+1):f1,f2=f2,fl+f2return f2n=int(input('输入需要计算的月份数:'))print('兔子总对数为: ', fib(n))程序运行结果:输入需要计算的月份数:74兔子总对数为:1304969544928657利用迭代算法解决问题的步骤有三个关键步骤:(1)确定迭代变量,如活动2中的fl、f2;(2)建立迭代关系式;(3)对迭代过程进行控制,这是编写迭代程序必须考虑的问题, 不能让迭代过程无休止地重复执行下去。1. 尝试用Python绘制 y = x2 -2x + 1 的图像。import numpy as np #加载numpy模块并取名为npimport matplotlib.pyplot as plt #加载matplotlib.pyplot并取名为pltx=np.arange(-10,12,0.01)y=x**2-2*x+1plt.plot(x,y)plt.title('一元二次方程')plt.xlabel('X')plt.ylabel('Y')plt.show()课堂练习2. 尝试用辗转相除法求解两个正整数的最大公约数。num1=int(input('请输入第一个正整数:'))num2=int(input('请输入第二个正整数:'))m=max(num1,num2)n=min(num1,num2)r=m % nwhile r!=0:m=nn=rr=m % nprint('这两个数的最大公约数为:',n)input("运行完毕,请按回车键退出...")绘制数学函数曲线wps绘制Python绘制numpy模块matplotlib模块课堂小结迭代迭代的三个关键步骤 展开更多...... 收起↑ 资源预览