1、导入新课导入新课什么是数值计算?数值计算,其实是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象,借助计算机运算速度快、精确度高的特点来解决各种数据问题。函数计算方程求解数列求和数值计算项目提出项目提出项目:与数学公式面对面任务一:绘制数学函数曲线任务二:求解斐波那契数列数学课上的描点法绘制函数图像1.建立平面直角坐标系2.根据解析式计算出若干点的坐标并画在坐标系内3.将这些点依次连接起来解析式 数学公式。如y=x2、y=ax2+bx+c、y=sin(x)等.通过描点法会发现,若想画出精度相对较高的函数,则需取多个绘制点进行绘制。想画出趋于完美的函数曲线则需要花费较长时间。如何
2、借助计算机绘制数学函数曲线?活动一:用活动一:用wpswps表格绘制正弦曲线表格绘制正弦曲线活动二:用活动二:用PythonPython绘制正弦曲线绘制正弦曲线活动一:用活动一:用WPSWPS表格绘制正弦曲线表格绘制正弦曲线建立WPS表格完善相关数据建立折线图图表xsin(x)sin(-x)sin(2x)/2100002300.5-0.50.53600.866025404-0.8660254040.86602540414360000任务一:绘制数学函数曲线任务一:绘制数学函数曲线单元格中的公式=SIN(PI()*A2/180)单元格中的公式=SIN(-PI()*A2/180)单元格中的公式=S
3、IN(2*PI()*A2/180)/2PI()即数学常量,使用此函数可以将值精确到小数点后14位。PI()/180则相当于1度。任务一:绘制数学函数曲线任务一:绘制数学函数曲线活动一:用活动一:用WPSWPS表格绘制正弦曲线表格绘制正弦曲线活动一:用活动一:用WPSWPS表格绘制正弦曲线表格绘制正弦曲线间隔缩小至1画一个点,数据表就会增加300多行的数据。间隔缩小至0.1画一个点,数据表将有3000多行的数据。怎样去提高图像的光滑程度呢?可以借助计算机程序描点绘制函数来达到速度快且精度高的效果。还可以利用什么方法来实现函数的绘制呢?可行但并不高效!可行但并不高效!活动二:利用活动二:利用Pyt
4、honPython绘制正弦曲线绘制正弦曲线计算机编程解决问题的一般步骤:分析问题设计算法编写程序绘制函数图像1.建立平面直角坐标系2.解析式解析式计算出若干点的坐标3.并将点依次连接起来调试运行活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线在Python中,绘制函数图像一般要用到numpy和matplotlib两个模块,这两个模块需要另外安装。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线numpy模块和matplotlib模块的安装条件以Windows 10系统为例,在安装之前要确定已经安装了Python 3.7及以上的版本,同时也安装了p
5、ip工具。一般Python 3.7会自动默认安装pip工具,如果没有安装pip工具,请重新运行Python安装程序并选择安装pip工具。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线numpy模块和matplotlib模块的安装工具pip工具主要用于Python包的查找、下载、安装、卸载功能,pip工具是从Python Package包管理库查找Python包,大多数流行的Python开源项目的作者都会将开源项目包上传到Python Package包管理库中。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线numpy模块的安装过程1.点击键盘上
6、的 win+r,打开运行窗口。2.在运行窗口中输入“cmd,点击enter键,打开windows命令行窗口。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线numpy模块的安装过程3.在windows命令行窗口中输入以下命令:pip install numpypip工具会自动下载numpy包并安装,如图所示。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线numpy模块的安装过程4.图示为安装成功信息。当pip版本不是最新版本时,pip会提示是否更新pip版本。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线numpy模块
7、的安装过程5.如果提示pip版本更新,则需在Windows命令行窗口输入命令:python-m pip install-upgrade pip6.pip版本更新成功,安装完成。MatplotlibMatplotlib模块的安装过程模块的安装过程和和NumpyNumpy模块基本相同。模块基本相同。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线numpy模块简介numpy是一个科学计算包,其中包括很多数学函数,如三角函数、矩阵计算方法等。例如,要绘制y=sin(x)的曲线,先要通过该模块中的arange函数创建一个等差数列,也就是描点法中的取x值,然后再求出相对应的y值。
8、活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线根据函数的参数的个数分为以下几种情况:l 只有一个参数,则这个参数为终点。起点默认为0,步长默认为1。l 有两个参数,第一个参数为起点,第二个参数为终点,步长默认为1。默认取值左闭右开。l 有三个参数,第一个参数为起点,第二个参数为终点,第三个参数为步长。步长支持小数。arange()函数的作用是创建等差数组。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线 import numpy as np np.arange(10)array(0,1,2,3,4,5,6,7,8,9)np.arange(1,1
9、0)array(1,2,3,4,5,6,7,8,9)np.arange(1,10,0.5)array(1.,1.5,2.,2.5,3.,3.5,4.,4.5,5.,5.5,6.,6.5,7.,7.5,8.,8.5,9.,9.5)活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线arange()和range()的区别range(start,end,step),返回一个list对象,起始值为start,终止值为end,但不含终止值,步长为step。只能创建int型list。arange(start,end,step),与range()类似,但是返回一个array对象。需要引入
10、import numpy as np,并且arange可以使用float型数据。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线arange()和range()的区别 import numpy as np range(1,10,2)1,3,5,7,9 np.arange(1,10,2)array(1,3,5,7,9)range(1,5,0.5)Traceback(most recent call last):File,line 1,in TypeError:range()integer step argument expected,got float.np.arange
11、(1,5,0.5)array(1.,1.5,2.,2.5,3.,3.5,4.,4.5)活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线import numpy as np#加载numpy模块并取一个简洁的别名为npx=np.arrange(0,2*np.pi,0.01)#x在0到2之间,每隔0.01取一个点y=np.sin(x)#通过解析式计算列表x对应的列表y的值上述代码可以产生sin(x)的若干个关键点。y=sin(x)程序中的numpy模块代码分析活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线matplotlib模块简介matplotli
12、bmatplotlib模块是python中最出色的绘图库,功能很完善。调用matplotlib.pylot时,坐标系可根据数值范围自动生成。matplotlib的绘图原理很简单,用户利用plot画线函数就可以在直角平面内轻松地将(x,y)坐标点对连接成平滑曲线。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线y=sin(x)程序中的matplotlib模块代码分析import matplotlib.pylot as plt#加载matplotlib.pylot并取别名为pltplt.plot(x,y)#将点对连线plt.show()#将绘制的图像窗口显示出来上述代码可以
13、将刚才所生成的关键点连接起来。活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线import numpy as np plt.plot(x,y)x=np.arrange(0,2*np.pi,0.01)import matplotlib.pylot as plt y=np.sin(x)plt.show()利用arrange函数取点开始加载numpy模块加载matplotlib.pylot模块求sin(x)对应的y的值绘制sin(x)的图像显示绘制的图像结束活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线活动二:利用活动二:利用PythonPython
14、绘制正弦曲线绘制正弦曲线试一试:参考绘制y=sin(x)的代码来完善以下的Python程序,尝试同时绘制出sin(x),sin(-x),sin(2x)/2的图像。import numpy as np#加载numpy模块并取别名为npimport matplotlib.pyplot as plt#加载matplotlib.pyplot并取别名为pltx=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#
15、求sin(2x)/2对应的列表y3的值plt.plot(x,y1)#绘制sin(x)的图像plt.plot(x,y2)#绘制sin(-x)的图像plt.plot(x,y3)#绘制sin(2x)/2的图像plt.title(sin(x)#设置图像标题plt.xlabel(X)#设置X轴标题plt.ylabel(Y)#设置Y轴标题plt.show()#将绘制的函数图像窗口显示出来活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线活动二:利用活动二:利用PythonPython绘制正弦曲线绘制正弦曲线Python 程序代码:利用python程序绘制的函数图像活动二:利用活动二:
16、利用PythonPython绘制正弦曲线绘制正弦曲线对比用对比用WPS表格绘制的函数,表格绘制的函数,Python程序绘制程序绘制的函数明显图像平滑了很多。的函数明显图像平滑了很多。利用python程序绘制的函数图像利用wps表格绘制的函数图像课堂小结课堂小结绘制数学函数曲线wps绘制Python绘制numpy模块matplotlib模块课后练习课后练习分析并完善下列代码段,尝试用python绘制y=x2-2x+1的图像。并对程序进行调试运行。import numpy as np import matplotlib.pyplot as plt#加载matplotlib.pyplot并取名为pltx=np.arange(-10,12,0.01)#列表x在10到12之间,每隔0.01取个点y=x*2-2*x+1plt.plot(x,y)#绘制图像plt.title(一元二次方程)plt.xlabel(X)plt.ylabel(Y)plt.show()谢谢