必修1 4.2 数值计算 课件(共25张PPT)

文档属性

名称 必修1 4.2 数值计算 课件(共25张PPT)
格式 zip
文件大小 1.2MB
资源类型 试卷
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2020-09-30 16:23:55

图片预览

文档简介

(共25张PPT)
教科版高中信息技术
第4单元
计算与问题解决
必修1
数据与计算
4.2
数值计算
第1课时
课堂导入
人们对计算机的最初应用大多是数值计算,主要借助计算机运算速度快,精确度高的特点来解决各种数学问题,如函数计算、方程的求解、数列求和等都属于数值计算。
在数学课上经常需要手工绘制函数图像,今天我们借助计算机来绘制函数图像。
利用电子表格软件就能绘制函数图像。方法如下:若以30°为间隔,绘制0-360°之间的正弦函数图像,则首先需要完成下列表格数据的计算。
x
sin(x)
sin(-x)
sin(2x)/2
1
0
0
0
0
2
30
0.5
-0.5
0.5
3
60
0.866025404
-0.866025404
0.866025404





14
360
0
0
0
表4.2.1
函数计算
利用wps绘制的函数图像
利用WPS表格画图
2x2+x-6=0
利用python绘制正弦曲线
在Python中,绘制函数图像一般要用到numpy和matplotlib两个模块,这两个模块需要另外安装。
Numpy模块简介
numpy是一个科学计算包,其中包括很多数学函数,如三角函数、矩阵计算方法等
import
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的值
matplotlib模块简介
Matplotlib模块是一个绘图库,
import
matplotlib.pylot
as
plt
#加载matplotlib.pylot并取别名为plt
plt.plot(x,y)
#将点对连线
plt.show()
#将绘制的图像窗口显示出来
参考上述代码,让我们一起来完善以下Python程序,尝试绘出“sin(x)”
“sin(-x)”和“sin(2x)/2”的图像。
import
numpy
as
np
#加载numpy模块并取别名为np
import?matplotlib.pyplot?as?plt
#加载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(2x)/
2的图像
plt.title(‘sin(x)’)??
#设置图像标题
plt.xlabel(‘X’)??
#设置X轴标题
plt.ylabel(‘Y’)?
?
#设置Y轴标题
plt.show(
)??
#将绘制的函数图像窗口显示出来
Python
程序代码:
利用python
程序绘制的函数图像
数学家斐波那契在《计算之书》中提出了一个有趣的兔子问题:假设一对兔子每个月可以生一对小兔子,一对兔子出生后第2个月就开始生小兔子。则一对兔子一年内能繁殖成多少对?10年呢?
[1,1,2,3,5,8,13,21,34……]
斐波那契数列,兔子数列,黄金分割数列,随着数列项数的增加,前一项与后一项之比越来越逼近黄金分割的数值,0.6180339887
第1个月和第2个月的兔子的对数之和为第3个月的兔子对数,第2个月和第3个月的兔子对数之和为第4个月的兔子对数……,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数的加数。这种重复反馈的过程称为迭代。
迭代法也称辗转法,是用计算机解决问题的一种基本方法。迭代通常是为了接近并达到抽需的目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
Python程序代码如下:
def
fib(n):
#迭代求Fibonacci数列
f2=f1=1
for
i
in
range(3,n+1):
f1,f2=f2,f1+f2
return
f2
n=int(input('输入需要计算的月份数:'))
print('兔子总对数为:',fib(n))
input("运行完毕,请按回车键退出...")
程序源代码及执行结果截图:


1、理解解数据的图形化表示,如利用wps表格绘图
2、掌握numpy模块和matplotlib模块的安装和使用
3、理解斐波那契数列
4、理解迭代法


1、
尝试用Python绘制
y
=
x2
—2x
+
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
的图像。
2、求解方程ax2+bx+c=0
import
math
a=float(input("请输入方程系数a(!=0):"))
b=float(input("请输入方程系数b:"))
c=float(input("请输入方程系数c:"))
d=b
b-4
a
c
if
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
%
n
while
r!=0:
m=n
n=r
r=m
%
n
print('这两个数的最大公约数为:',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
f
def
f1(x):
#定义f(x)函数,求导数f1(x)=
5
x4+4
x3+1
f1=5
(x
4)+4
(x
3)+1
return
f1
#设置初始值
x=1
x1=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)
程序代码及执行结果界面截图:
THANKS