教科版 (2019)必修1 数据与计算4.2 数值计算精品课件ppt
展开人们对计算机的最初应用大多是数值计算,主要借助计算机运算速度快,精确度高的特点来解决各种数学问题,如函数计算、方程的求解、数列求和等都属于数值计算。
在数学课上经常需要手工绘制函数图像,今天我们借助计算机来绘制函数图像。
利用电子表格软件就能绘制函数图像。方法如下:若以30°为间隔,绘制0-360°之间的正弦函数图像,则首先需要完成下列表格数据的计算。
表4.2.1 函数计算
利用wps绘制的函数图像
利用pythn绘制正弦曲线
在Pythn中,绘制函数图像一般要用到numpy和matpltlib两个模块,这两个模块需要另外安装。
numpy是一个科学计算包,其中包括很多数学函数,如三角函数、矩阵计算方法等
imprt numpy as np #加载numpy模块并取一个简洁的别名为np x=np.arrange(0,2*np.pi,0.01) # x在0到2π之间,每隔0.01取一个点 y=np.sin(x) #通过解析式计算列表x对应的列表y的值
matpltlib模块简介
Matpltlib模块是一个绘图库,
imprt matpltlib.pylt as plt #加载matpltlib.pylt并取别名为plt plt.plt(x,y) #将点对连线plt.shw() #将绘制的图像窗口显示出来
参考上述代码,让我们一起来完善以下Pythn程序,尝试绘出“sin(x)” “sin(-x)”和“sin(2x)/2”的图像。
imprt numpy as np #加载numpy模块并取别名为np imprt matpltlib.pyplt as plt #加载matpltlib.pyplt并取别名为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 #求sin(2x)/2对应的列表y3的值plt.plt(x,y1) #绘制sin(x)的图像plt.plt(x,y2) #绘制sin(-x)的图像 plt.plt(x,y3) #绘制sin(2x)/ 2的图像plt.title(‘sin(x)’) #设置图像标题plt.xlabel(‘X’) #设置X轴标题plt.ylabel(‘Y’) #设置Y轴标题plt.shw( ) #将绘制的函数图像窗口显示出来
Pythn 程序代码:
利用pythn 程序绘制的函数图像
数学家斐波那契在《计算之书》中提出了一个有趣的兔子问题:假设一对兔子每个月可以生一对小兔子,一对兔子出生后第2个月就开始生小兔子。则一对兔子一年内能繁殖成多少对?10年呢?
[1,1,2,3,5,8,13,21,34……]
斐波那契数列,兔子数列,黄金分割数列,随着数列项数的增加,前一项与后一项之比越来越逼近黄金分割的数值,0.6180339887
第1个月和第2个月的兔子的对数之和为第3个月的兔子对数,第2个月和第3个月的兔子对数之和为第4个月的兔子对数……,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数的加数。这种重复反馈的过程称为迭代。
迭代法也称辗转法,是用计算机解决问题的一种基本方法。迭代通常是为了接近并达到抽需的目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
Pythn程序代码如下:
def fib(n): #迭代求Fibnacci数列 f2=f1=1 fr i in range(3,n+1): f1,f2=f2,f1+f2 return f2n=int(input('输入需要计算的月份数:'))print('兔子总对数为:',fib(n))input("运行完毕,请按回车键退出...")
程序源代码及执行结果截图:
1、理解解数据的图形化表示,如利用wps表格绘图2、掌握numpy模块和matpltlib模块的安装和使用3、理解斐波那契数列4、理解迭代法
1、 尝试用Pythn绘制 y = x2 —2x + 1 的图像。
代码如下:imprt numpy as np #加载numpy模块并取名为npimprt matpltlib.pyplt as plt #加载matpltlib.pyplt并取名为pltx=np.arange(-10,12,0.01) y=x**2-2*x+1plt.plt(x,y) plt.title('一元二次方程') plt.xlabel('X') plt.ylabel('Y') plt.shw()
利用Pythn绘制 y = x2 —2x + 1 的图像。
2、求解方程ax2+bx+c=0
imprt matha=flat(input("请输入方程系数a(!=0):"))b=flat(input("请输入方程系数b:"))c=flat(input("请输入方程系数c:"))d=b*b-4*a*cif d>0: 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("方程无解")
3、用辗转相除法求解两个正整数的最大公约数
参考答案:num1=int(input('请输入第一个正整数:'))num2=int(input('请输入第二个正整数:'))m=max(num1,num2)n=min(num1,num2)r=m % nwhile r!=0: m=n n=r r=m % nprint('这两个数的最大公约数为:',n)input("运行完毕,请按回车键退出...")
4、牛顿迭代法求解x5+x4+x-3=0
参考代码:def f(x): #定义f(x)函数,计算f(x)=x5+x4+x-10 f=x**5+x**4+x-10 return fdef f1(x): #定义f(x)函数,求导数f1(x)= 5*x4+4*x3+1 f1=5*(x**4)+4*(x**3)+1 return f1#设置初始值x=1x1=2 #x1的初值只要确保|x-x1|>1e-10就可以print('迭代过程中的x值:')#根据迭代公式计算while abs(x-x1)>1e-10: x1=x y1=f(x) y2=f1(x1) x=x1-y1/y2 print(x)
程序代码及执行结果界面截图:
教科版 (2019)必修1 数据与计算4.2 数值计算优秀ppt课件: 这是一份教科版 (2019)必修1 数据与计算4.2 数值计算优秀ppt课件,共16页。PPT课件主要包含了学习目标,温故而知新,使用电子表格求解,迭代法,课堂练习,巩固提升,课堂小结等内容,欢迎下载使用。
教科版 (2019)必修1 数据与计算4.2 数值计算一等奖课件ppt: 这是一份教科版 (2019)必修1 数据与计算4.2 数值计算一等奖课件ppt,共17页。PPT课件主要包含了学习目标,numpy模块简介,课堂练习,巩固提升,课堂小结等内容,欢迎下载使用。
高中信息技术教科版 (2019)必修1 数据与计算第4单元 计算与问题解决4.2 数值计算备课课件ppt: 这是一份高中信息技术教科版 (2019)必修1 数据与计算第4单元 计算与问题解决4.2 数值计算备课课件ppt,共25页。PPT课件主要包含了2数值计算,学习目标,导入新课,什么是数值计算,项目提出,numpy模块简介,使用电子表格求解,课堂练习等内容,欢迎下载使用。