资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,2020/12/21,#,数,值,计,算,4.1,第,一,课,时,数值计算4.1第一课时,1,教学目标,2.,通过绘制一元多次方程函数图像,了解,Python,利用,numpy,和,matplotlib,两个模块绘制图像的基本方法。,1.,通过求解一元二次方程的解,了解计算机编程解决数值计算问题的一般流程,并能够使用解析法解决实际问题。,教学重难点:,能够利用,numpy,和,matplotlib,两个模块绘制函数图像。,教学目标2.通过绘制一元多次方程函数图像,了解Python利,2,教学过程,环节一:求解一元二次方程,ax2+bx+c=0(a0),1,用数学方法求解方程,2x2+x-6=0,。,2,用,WPS,表格绘制方程,2x2+x-6=0,函数图象,求解方程。,3,用,Python,编程求解,ax2+bx+c=0(a0),的解。,a,b,c,由程,序输入。,教学过程环节一:求解一元二次方程ax2+bx+c=0(a0,3,方法一:,写出数学方法求解方程,2x,2,+x-6=0,。,方程可因式分解为(,2x-3,),(x+2)=0,,因此,x=1.5,或,x=-2,。,用求根公式,计算得,x=1.5x=-2,。,方法二:,wps,表格画图。(描点法),方法一:计算得x=1.5x=-2。方法二:wps表格画图。(,4,借助计算机程序描点,可以达到速度快且精确度高的效果。,方法三:,利用,Python,求解,import math,a=float(input(,请输入方程系数,a(!=0):),b=float(input(,请输入方程系数,b:),c=float(input(,请输入方程系数,c:),d=b*b-4*a*c,if d0:,x1=(-b+math.sqrt(d)/(2*a),x2=(-b-math.sqrt(d)/(2*a),print(,方程有两个不同的解,x1,x2),elif d=0:,x1=-b/(2*a),print(,方程有两个相同的解,x1),else:,print(,方程无解,),借助计算机程序描点,可以达到速度快且精确度高的效果。方法三:,环节二:,绘制数学函数曲线,1,用,WPS,表格绘制,y=sin(x),、,y=sin(-x),和,y=sin(2x),函数的图像。,2,用,Python,编程绘制,y=sin(x),、,y=sin(-x),和,y=sin(2x),函数的图像。,环节二:绘制数学函数曲线1用WPS表格绘制y=sin(x),活动一:用,WPS,表格绘制,y=sin(x),、,y=sin(-x),和,y=sin(2x),函数的图像。,列表法描点法,利用,WPS,绘制的函数图像,数据点越多,绘制的正弦函数图像越精细,圆滑。,活动一:用WPS表格绘制y=sin(x)、y=sin(-x,活动二:用,Python,编程绘制,y=sin(x),、,y=sin(-x),和,y=sin(2x),函数的图像。,本节课的教学重点、难点,在,Python,中,绘制函数图像一般要用到,numpy,和,matplotlib,两个模块,这两个模块需要另外安装。,活动二:用Python编程绘制y=sin(x)、y=sin,Python,外置库安装方法,:,1,、访问网址下载对应的文件,(和你的,windows,系统及,Python,版本都要对应),(1)https:/pypi.python.org/pypi/matplotlib/,(2)https:/pypi.python.org/pypi/numpy/,2,、,把这些文件直接复制到你的,Python,路径下的,Scripts,文件夹中,例如,C:UsersownerAppDataLocal,Programs,PythonPython36Scripts,文件夹中;,3,、在文件夹中按,shift,键的同时单击鼠标右键,选择“在此处打开命令窗口”弹出,cmd,窗口,复制下列代码回车,运行,:,32,位:,pip install numpy-1.17.2-cp36-cp36m-win32.whl,pip install matplotlib-3.1.1-cp36-cp36m-win32.whl,64,位:,pip install numpy-1.17.2-cp36-cp36m-win_amd64.whl,pip install matplotlib-3.1.1-cp36-cp36m-win_amd64.whl,Python外置库安装方法:1、访问网址下载对应的文件2、把,把这些文件直接复制到你的,Python,路径下的,Scripts,文件夹中,例如,C:UsersownerAppDataLocalProgramsPythonPython36Scripts,文件夹中;,把这些文件直接复制到你的Python路径下的Scripts文,numpy,模块简介,numpy,是一个科学计算包,其中包括很多数学函数,如,三角函数,、,矩阵计算方法,、,矢量运算,、,线性代数,等。,通过该模块中的arange函数可以创建一个等差数列。如在0,-,2之间每隔0.01取个值,则可以用arange(0,2*numpy.pi,0.01),表示,其中numpy.pi表示。,下列代码可以产生sin(x)的若干个关键点。,import numpy as np,#加载numpy模块并取一个简洁的别名np,便于后续引用,x,=,np.arange(0,2*np.pi,0.01),#x,在,0,到2之间,每隔0.01取一个点,y=np.sin(x),#,通过解析式计算列表x对应的列表,y,的值,numpy模块简介 numpy是一个科学计算包,其中包,matplotlib,模块是一个,绘图库,。调用,matplotlib.pyplot,时,坐标系可以根据数值范围自动生成。,matplotlib的绘图原理很简单,利用plot画线函数就可以在直角平面内轻松地将(x,y)坐标点对连接成平滑曲线。例如:在上述代码的适当位置增加下列语句,就可以将刚才生成的关键点连接起来。,m,atplotlib模块简介,import matplotlib.pyplot as plt,#加载matplotlib.pyplot并取名p1t,plt.plot(x,y),#将点对连线,plt.show(),#将绘制的图像窗口显示出来,matplotlib模块是一个绘图库。调用matpl,参考,以上,代码,完善,绘出,“sin(x),”“,sin(-x)”,和,“sin(2x)/2”,的图像,程序,。,#,加载,numpy,模块并取别名为,np,importmatplotlib.pyplotasplt#,加载,matplotlib.pyplot,并取别名为,plt,#,列表,x,在,0,到,2,之间,毎隔,0.01,取一个点,#,求,sin(x),对,应的列表,y1,的值,y2=np.sin(-x)#,求,sin(-x),对,立的列表,y2,的值,#,求,sin(2x)/2,对,应的列表,y3,的值,plt.plot(x,y1)#,绘制,sin(x),的图像,#,绘制,sin(-x),的图像,#,绘制,sin(2x)/2,的图像,plt.title(sin(x)#,设置图像标题,plt.xlabel(X)#,设置,X,轴标题,plt.ylabel(Y)#,设置,Y,轴标题,plt.show()#,将绘制的函数图像窗口显示出来,import numpy as np,x=np.arange(0,2*np.pi,0.01),y1=np.sin(x),y3=np.sin(2*x)/2,plt.plot(x,y2),plt.plot(x,y3),参考以上代码,完善绘出“sin(x)”“sin(-x)”和,13,#,加载,numpy,模块并取别名为,np,importmatplotlib.pyplotasplt,#,加载,matplotlib.pyplot,并取别名为,plt,#,列表,x,在,0,到,2,之间,毎隔,0.01,取一个点,#,求,sin(x),对,应的列表,y1,的值,y2=np.sin(-x)#,求,sin(-x),对,立的列表,y2,的值,#,求,sin(2x)/2,对,应的列表,y3,的值,plt.plot(x,y1)#,绘制,sin(x),的图像,#,绘制,sin(-x),的图像,#,绘制,sin(2x)/2,的图像,plt.title(sin(x)#,设置图像标题,plt.xlabel(X)#,设置,X,轴标题,plt.ylabel(Y)#,设置,Y,轴标题,plt.show(),#,将绘制的函数图像窗口显示出来,import numpy as np,x=np.arrange(0,2*np.pi,0.01),y1=np.sin(x),y3=np.sin(2*x)/2,plt.plot(x,y2),plt.plot(x,y3),绘出,“sin(x),”“,sin(-x)”,和,“sin(2x)/2”,的图像,利用,Python,程序绘制的函数图像,振幅和周期发生了变化。对比用,WPS,表格绘制,y=sin(x),、,y=sin(-x),和,y=sin(2x)/2,函数的图像平滑了很多。,利用Python程序绘制的函数图像振幅和周期发生了变化。对比,作业:尝试用,Python,绘制,y,=,x,2,2,x,+1,的图像。,代码如下:,import numpy as np#,加载,numpy,模块并取名为,np,import matplotlib.pyplot as plt#,加载,matplotlib.pyplot,并取名为,plt,x=np.arange(-10,12,0.01),y=x*2-2*x+1,plt.plot(x,y),plt.title(,一元二次方程,),plt.xlabel(X),plt.ylabel(Y),plt.show(),作业:尝试用Python绘制 y=x2 2x+1,数,值,计,算,4.1,第,二,课,时,数值计算4.1第二课时,17,教学目标,了解迭代法的含义,并尝试用牛顿迭代法解决实际问题。,了解数值类算法在实际问题解决时的常用方法,如解析法和迭代法。,理解迭代法的含义,并能够用牛顿迭代法求解一元多次方程。,教学重点,教学难点,教学目标了解迭代法的含义,并尝试用牛顿迭代法解决实际问题。了,18,案例引入,斐波那契在,计算之书,中提出了一个有趣的兔子问题:假设一对兔子每个月可以生一对小兔子,一对兔子出生后第,2,个月就开始生小兔子。则一对兔子一年内能繁殖成多少对?,10,年呢?,案例引入斐波那契在计算之书中提出了一个有趣的兔子问题:假,19,活动一:用,WPS,求解数列,分,析:,活动一:用WPS求解数列分析:,20,从第,3,个月起,每个月大兔子的对数等于上个月大兔子与小兔子的对数之和,每个月小兔子的对数等于上个月大兔子的对数。,使用电子表格求解为:,从第3个月起,每个月大兔子的对数等于上个月大兔子与小兔子的对,21,当进行到,74,月时,由于数据范围及表示精度的问题,导致结果出错,:,当进行到74月时,由于数据范围及表示精度的问题,导致结果出错,22,第,1,个月和第,2,个月的兔子的对数之和为第,3,个月的兔子对数,第,2,个月和第,3,个月的兔子对数之和为第,4,个月的兔子对数,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数的加数。,这种重复反馈的过程称为迭代,。,迭代,第1个月和第2个月的兔子的对数之和为第3个月的兔子对数,第,23,活动二:用,Python,求解数列,第,1,个月和第,2,个月的兔子的对数之和为第,3,个月的兔子对数,第,2,个月和第,3,个月的兔子对数之和为第,4,个月的兔子对数,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数
展开阅读全文