内容正文:
4.2 数值计算
【学习目标】
1.通过求解一元二次方程的解,了解计算机编程解决数值计算问题的一般流程,并能够使用解析法解决实际问题。
2.通过绘制一元多次方程函数图像,了解Python利用numpy和matplotlib两个模块绘制图像的基本方法。
3.通过编程求解一元多次方程,了解迭代法的含义,并尝试用牛顿迭代法解决实际问题。
【教学重点】
1.了解数值类算法在实际问题解决时的常用方法,如解析法和迭代法。
2.能够利用numpy和matplotlib两个模块绘制函数图像。
【教学难点】
理解迭代法的含义,并能够用牛顿迭代法求解一元多次方程。
【教学过程】
第一课时
师:计算机最初研究的用途就是进行数值计算,因此计算机可以解决很多数学方法所描绘的数值计算问题。本节将围绕项目“与数学公式面对面”探讨在中学数学领域里常见的数学公式与程序设计的有趣结合。完成下列的项目报告书。
与数学公式面对面
了解计算机进行数值计算的基本流程和方法。
环节一:求解一元二次方程ax2+bx+c=0(a≠0)
1.用数学方法求解方程2x2+x-6=0。
2.用WPS表格绘制方程2x2+x-6=0函数图象,求解方程。
3.用Python编程求解ax2+bx+c=0(a≠0)的解。a,b,c由程序输入。
完成项目报告书的过程中,比较数学方法、软件工具和编程解决问题的异同。
参考答案:
方法一:写出数学方法求解方程2x2+x-6=0。
方程可因式分解为(2x-3)(x+2)=0,因此x=1.5或x=-2。
用求根公式计算得x=1.5或x=-2。
方法二:wps表格画图。
存在问题,如果需要图象更加光滑,必须x的取值间隔要小;取值范围要恰当。
方法三:Python求解。
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)
els