第四章 数值计算优秀课件
合集下载
数值分析第四章课件
![数值分析第四章课件](https://img.taocdn.com/s3/m/bb2a7d8ad4d8d15abe234e37.png)
xk
1.25 1.375 1.3125 1.3438 1.3281 1.3203 1.3242
f (xk)的符号
+ + + -
14
f ( x0 ) f ( x0 h ) 0
那么所求的根x*必在x0与x0+h之间,这里可取x0或x0+h作为根 的初始近似。
4
例1:考察方程 f ( x) x3 x 1 0 注意到f (0)< 0, f (+)>0,知f (x)至少有一个 正的实根。 设从x = 0出发,取h = 0.5为步长向右进行 根的扫描,下表记录各个结点上函数值的符号, 我们发现,在区间(1, 1.5)内必有实根,因此可 取x0 = 1或x0 = 1.5作为根的初始近似值。
第四章 方程求根
§4.1 二分法 §4.2 迭代法 §4.3牛顿法 §4.4弦截法
1
我们很熟悉一次、二次代数方程以及某些特殊的高 次方程或超越方程的解法。这些方法都是代数解法, 也是精确法。但在实际中,有许多方程问题无法求出 公式解。例如超越方程
tgx x 0 0.25 tgx 4.8889 sin x 0
9
由于
1 xk x (bk a k ) bk 1 a k 1 2
*
(1)
只要有根区间[ak+1, bk+1]的长度小于预先给定的误差, 那么就可以取
xk 1 1 ( ak bk ) 2
作为所求根x*的第k+1次近似值。其误差估计为: 1 * x xk 1 k 1 ( b a ) 2 综上所述,设f (x)在[a, b]上存在一阶导数且不变号, 如果f (a)f (b)<0,则由(1)所知,当k时, x* - xk0,即xkx*。
数值计算方法第4章PPT学习教案
![数值计算方法第4章PPT学习教案](https://img.taocdn.com/s3/m/893931f0fc4ffe473268ab47.png)
第12页/共54页
0.028 797 106
算法 4.2.1(Newton 插值法)
(1) 输入: xi, f j (2) zi f j (i=0,1,2,…,n) (3)计算差商
对 i=1,2,…,n 做
1)对
j
=i,i+1,…,n
做
f
j
(zj (xj
z j1) x j1)
;
2)对 j =i,i+1,…,n 做 zi f j ;
(x x0 )(x x1)(x x2 ) f [x, x0, x1, x2 ] 一般的,在节点x0, x1, x2,...,xn上有
第2页/共54页
f (x) f (x0 ) (x x0 ) f [x0 , x1] (x x0 )(x x1) f [x0 , x1, x2 ] ... (x x0 )(x x1)...(x xn1) f [x0 , x1,...xn1] (x x0 )(x x1)...(x xn1)(x x)n f [x, x0 , x1,...xn ]
这里h>0为常数,称为步长,这时Newton插值公 式就可以简化,为此我们引入差分概念。
定义 4.2.2 设函数 f(x)在等距节点 xi a ih (i=0,1,2,…,n) 上值为 fi f (xi ) ,则
第15页/共54页
(1)称 fi fi1 fi (i=0,1,2,…,n)为函数 f(x)在点{xi}0n 上 的一阶向前差分(简称差分);又称 k fi k1 fi1 k1 fi (k=1,2,…,n;i=0,1,…,n-k)为函数 f(x)在点{xi}0n 上的 k 阶向前差 分,这里约定{xi}0n ;
lim
f [x h, x0, x1,...,xn ] f [x, x0, x1,...,xn ]
数值计算方法课件_xutao_update
![数值计算方法课件_xutao_update](https://img.taocdn.com/s3/m/9bc337b01ed9ad51f11df2c9.png)
数值计算方法只能用算数运算和逻辑运算; 数值计算方法需要速度快、精度高。
程序设计需要最简练、最快、最少存储空间。
上机计算 分析结果
检验是否与实际相符,是否可推广; 找出原因,继续研究。
二、 算法
1、算法的概念 当我们用数值计算方法求解一个比较复杂的数
学问题时,常常要事先拟定一个计算方案,规划 一下计算的步骤,所谓算法,就是指在求解数学 问题时,对求解方案和计算步骤的完整而明确的 描述。
三、误差
2) 方法误差 在计算过程中,由数学方法产生的误差,称为方法误差。
• 例如,在计算指数函数的值时,常用到如下幂级数展开式:
ex
x2 1x
xn
2! n!
这是一个无穷级数。计算时,只能取有限项。
Sn(x)1xx22!xnn!
用有限项逼近无穷级数,会产生一个误差,这个误差是由 数学方法产生的,所以是一种方法误差。
否则 D 0
x1
a22b1 a12b2 D
S4 输出计算的结果 x1, x2
x2
a11b2 a21b1 D
二、算法
2、算法的优劣 求解一个数学问题,可以采用不同的算法,比如:
线性方程组,可用克莱姆法则,高斯消元法等多 种方法求解。但是每一种方法的优劣不同,评价 一个 算法的好坏有以下几个标准: 1) 算法的计算量(时间复杂性) 2) 算法的空间复杂性 3) 算法逻辑结构的复杂性
e x x x —真值, x —近似值,
2) 误差限 在许多情况下,我们不知道某个量的真实值是多少,因
此也不知道它的近似值的误差。但是我们能估计出误差不 会超过某个确定的数值。这个数值就称为近似值的误差限。
我们能用误差限定量的衡量一个近似值的误差。
程序设计需要最简练、最快、最少存储空间。
上机计算 分析结果
检验是否与实际相符,是否可推广; 找出原因,继续研究。
二、 算法
1、算法的概念 当我们用数值计算方法求解一个比较复杂的数
学问题时,常常要事先拟定一个计算方案,规划 一下计算的步骤,所谓算法,就是指在求解数学 问题时,对求解方案和计算步骤的完整而明确的 描述。
三、误差
2) 方法误差 在计算过程中,由数学方法产生的误差,称为方法误差。
• 例如,在计算指数函数的值时,常用到如下幂级数展开式:
ex
x2 1x
xn
2! n!
这是一个无穷级数。计算时,只能取有限项。
Sn(x)1xx22!xnn!
用有限项逼近无穷级数,会产生一个误差,这个误差是由 数学方法产生的,所以是一种方法误差。
否则 D 0
x1
a22b1 a12b2 D
S4 输出计算的结果 x1, x2
x2
a11b2 a21b1 D
二、算法
2、算法的优劣 求解一个数学问题,可以采用不同的算法,比如:
线性方程组,可用克莱姆法则,高斯消元法等多 种方法求解。但是每一种方法的优劣不同,评价 一个 算法的好坏有以下几个标准: 1) 算法的计算量(时间复杂性) 2) 算法的空间复杂性 3) 算法逻辑结构的复杂性
e x x x —真值, x —近似值,
2) 误差限 在许多情况下,我们不知道某个量的真实值是多少,因
此也不知道它的近似值的误差。但是我们能估计出误差不 会超过某个确定的数值。这个数值就称为近似值的误差限。
我们能用误差限定量的衡量一个近似值的误差。
《数值计算》课件
![《数值计算》课件](https://img.taocdn.com/s3/m/0ce5f41f3d1ec5da50e2524de518964bce84d268.png)
《数值计算》PPT课件
CATALOGUE
目录
引言数值计算基础线性方程组求解插值与拟合数值积分与微分优化算法数值计算的实践应用
01
引言
数值计算是计算机科学和数学的一个重要交叉领域,主要研究如何利用数学方法解决各种实际问题,特别是在处理大规模、复杂数据时。
本课程将介绍数值计算的基本原理和方法,包括线性代数、微积分、插值、拟合、数值积分、微分方程等。
多项式拟合是一种通过已知数据点来构造一个多项式,使得该多项式能够尽可能地逼近真实函数的方法。
多项式拟合的原理是利用最小二乘法或其他优化算法来求解多项式的系数,使得多项式与真实函数的误差最小。
多项式拟合的优点是适应性强、应用广泛,但缺点是当数据点较多时,多项式的次数较高,可能导致计算量大、精度降低。
梯形法
辛普森法
复合梯形法和复合辛普森法
ห้องสมุดไป่ตู้
复合差分法
复合差分法是通过将函数定义域分成若干个子区间,并在每个子区间上分别使用差商法或中心差分法进行计算,然后求和得到函数导数的近似值。
数值微分的基本概念
数值微分是一种近似计算函数导数的方法,通过选取适当的离散点,利用差分公式来逼近函数导数的值。
差商法
差商法是一种简单的数值微分方法,通过计算函数在相邻离散点之间的差商来逼近函数导数的值。
数据拟合
THANKS
感谢观看
矩阵分解法是一种将系数矩阵分解为易于处理的形式的方法,常见的有LU分解、QR分解等。
04
插值与拟合
拉格朗日插值的原理是利用已知数据点构造一个插值多项式,然后通过该多项式在未知点的取值来估计该点的数值。
拉格朗日插值法的优点是简单易懂,易于实现,但缺点是当数据点较多时,插值多项式的次数较高,可能导致计算量大、精度降低。
CATALOGUE
目录
引言数值计算基础线性方程组求解插值与拟合数值积分与微分优化算法数值计算的实践应用
01
引言
数值计算是计算机科学和数学的一个重要交叉领域,主要研究如何利用数学方法解决各种实际问题,特别是在处理大规模、复杂数据时。
本课程将介绍数值计算的基本原理和方法,包括线性代数、微积分、插值、拟合、数值积分、微分方程等。
多项式拟合是一种通过已知数据点来构造一个多项式,使得该多项式能够尽可能地逼近真实函数的方法。
多项式拟合的原理是利用最小二乘法或其他优化算法来求解多项式的系数,使得多项式与真实函数的误差最小。
多项式拟合的优点是适应性强、应用广泛,但缺点是当数据点较多时,多项式的次数较高,可能导致计算量大、精度降低。
梯形法
辛普森法
复合梯形法和复合辛普森法
ห้องสมุดไป่ตู้
复合差分法
复合差分法是通过将函数定义域分成若干个子区间,并在每个子区间上分别使用差商法或中心差分法进行计算,然后求和得到函数导数的近似值。
数值微分的基本概念
数值微分是一种近似计算函数导数的方法,通过选取适当的离散点,利用差分公式来逼近函数导数的值。
差商法
差商法是一种简单的数值微分方法,通过计算函数在相邻离散点之间的差商来逼近函数导数的值。
数据拟合
THANKS
感谢观看
矩阵分解法是一种将系数矩阵分解为易于处理的形式的方法,常见的有LU分解、QR分解等。
04
插值与拟合
拉格朗日插值的原理是利用已知数据点构造一个插值多项式,然后通过该多项式在未知点的取值来估计该点的数值。
拉格朗日插值法的优点是简单易懂,易于实现,但缺点是当数据点较多时,插值多项式的次数较高,可能导致计算量大、精度降低。
高一信息技术必修课件数值计算
![高一信息技术必修课件数值计算](https://img.taocdn.com/s3/m/e0deaf16bf23482fb4daa58da0116c175f0e1e03.png)
像中的噪声。
05
数值积分与微分计算方法
矩形法、梯形法和辛普森法比较
矩形法
将积分区间划分为若干个小矩形,每个小矩形的面积近似 为被积函数在该区间上的定积分。该方法简单易行,但精 度较低。
梯形法
将积分区间划分为若干个小梯形,每个小梯形的面积近似 为被积函数在该区间上的定积分。相比矩形法,梯形法具 有更高的精度。
$y_{n+1} = y_n + h cdot f(x_n, y_n)$,其中 $h$为步长。
改进型欧拉法
预测-校正法、中点法等,提高计算精度和稳定性 。
龙格-库塔法思想阐述
龙格-库塔法基本思想
通过构造多个斜率,加权平均得到更高精度的近似解。
标准四阶龙格-库塔法公式
$y_{n+1} = y_n + frac{h}{6}(k_1 + 2k_2 + 2k_3 + k_4)$,其中$k_i$为不同点的斜率。
的投资组合配置。
04
插值与拟合在数值计算中应用
拉格朗日插值多项式构造方法
01
02
03
构造基函数
对于给定的n+1个点,构 造n+1个基函数,每个基 函数在对应点上取值为1 ,在其他点上取值为0。
线性组合
将基函数进行线性组合, 得到拉格朗日插值多项式 。
插值计算
将待插值点代入拉格朗日 插值多项式,得到对应的 插值结果。
牛顿迭代法思想与应用
牛顿迭代法思想 通过泰勒级数展开,将非线性方 程f(x)=0近似为线性方程,并利 用线性方程的解进行迭代,逐步 逼近非线性方程的零点。
3. 优化问题 在优化问题中,经常需要求解目 标函数的极值点,牛顿迭代法可 用于求解这类问题。
05
数值积分与微分计算方法
矩形法、梯形法和辛普森法比较
矩形法
将积分区间划分为若干个小矩形,每个小矩形的面积近似 为被积函数在该区间上的定积分。该方法简单易行,但精 度较低。
梯形法
将积分区间划分为若干个小梯形,每个小梯形的面积近似 为被积函数在该区间上的定积分。相比矩形法,梯形法具 有更高的精度。
$y_{n+1} = y_n + h cdot f(x_n, y_n)$,其中 $h$为步长。
改进型欧拉法
预测-校正法、中点法等,提高计算精度和稳定性 。
龙格-库塔法思想阐述
龙格-库塔法基本思想
通过构造多个斜率,加权平均得到更高精度的近似解。
标准四阶龙格-库塔法公式
$y_{n+1} = y_n + frac{h}{6}(k_1 + 2k_2 + 2k_3 + k_4)$,其中$k_i$为不同点的斜率。
的投资组合配置。
04
插值与拟合在数值计算中应用
拉格朗日插值多项式构造方法
01
02
03
构造基函数
对于给定的n+1个点,构 造n+1个基函数,每个基 函数在对应点上取值为1 ,在其他点上取值为0。
线性组合
将基函数进行线性组合, 得到拉格朗日插值多项式 。
插值计算
将待插值点代入拉格朗日 插值多项式,得到对应的 插值结果。
牛顿迭代法思想与应用
牛顿迭代法思想 通过泰勒级数展开,将非线性方 程f(x)=0近似为线性方程,并利 用线性方程的解进行迭代,逐步 逼近非线性方程的零点。
3. 优化问题 在优化问题中,经常需要求解目 标函数的极值点,牛顿迭代法可 用于求解这类问题。
数值计算课件
![数值计算课件](https://img.taocdn.com/s3/m/4a17213b27d3240c8447efc4.png)
7
效数字。
解 : 22 = 3.1 42 85 7… … ,π = 3 .1 41 59 2… … 。 7
22 0.00126 1 10 2 。 因 为 m = 1,
7
2
m-n=-2 , 所 以 n=3, 有 3 位 有 效 数 字 。
1.用四舍五入得到的近似数的误差限是 末位的半个单位。近似数的误差限是末位 的半个单位,则有n位有效数字。因此用 四舍五入得到的近似数是有效数字。
3 四舍五入的误差限:设
x 0 . x 1 x 2 x n 10 m 其 中 x i (i 1,2, ) 是 0 ,1, , 9 中 的 数 字 , 且 x1 0 , m 为 整 数 , n 为 正
整数。 四舍时 五入时
x * 0 . x 1 x 2 x n 10 m x* 0 .x1x2 xn1( xn 1) 1 0 m
两个定理。
定 理 若 近 似 数 x 0 .x1 x 2 x n 10 m 具 有 n 位 有 效 数 字 ,
则其相对误差
* r
1 2 x1
10 ( n 1)
证 因 x 0 .x1 x 2 x n 10 m , 有 x .x1 10 m 1 ,
2.在公式运算中,要先区分准确量和近 似数。准确数有无穷多位有效数字.
3.有效数字位与小数点后有多少位数无 直接关系。
1.3.4 有效数字与相对误差
绝对误差、相对误差、有效数字三者关系。
*和 n 的 关 系
* 1 10 mn 2
*和
r
的
关
系
n
和
r
效数字。
解 : 22 = 3.1 42 85 7… … ,π = 3 .1 41 59 2… … 。 7
22 0.00126 1 10 2 。 因 为 m = 1,
7
2
m-n=-2 , 所 以 n=3, 有 3 位 有 效 数 字 。
1.用四舍五入得到的近似数的误差限是 末位的半个单位。近似数的误差限是末位 的半个单位,则有n位有效数字。因此用 四舍五入得到的近似数是有效数字。
3 四舍五入的误差限:设
x 0 . x 1 x 2 x n 10 m 其 中 x i (i 1,2, ) 是 0 ,1, , 9 中 的 数 字 , 且 x1 0 , m 为 整 数 , n 为 正
整数。 四舍时 五入时
x * 0 . x 1 x 2 x n 10 m x* 0 .x1x2 xn1( xn 1) 1 0 m
两个定理。
定 理 若 近 似 数 x 0 .x1 x 2 x n 10 m 具 有 n 位 有 效 数 字 ,
则其相对误差
* r
1 2 x1
10 ( n 1)
证 因 x 0 .x1 x 2 x n 10 m , 有 x .x1 10 m 1 ,
2.在公式运算中,要先区分准确量和近 似数。准确数有无穷多位有效数字.
3.有效数字位与小数点后有多少位数无 直接关系。
1.3.4 有效数字与相对误差
绝对误差、相对误差、有效数字三者关系。
*和 n 的 关 系
* 1 10 mn 2
*和
r
的
关
系
n
和
r
4.2 数值计算(第1课时)课件-2023—2024学年高中信息技术教科版(2019)必修1
![4.2 数值计算(第1课时)课件-2023—2024学年高中信息技术教科版(2019)必修1](https://img.taocdn.com/s3/m/4ed69f4ca66e58fafab069dc5022aaea998f41d1.png)
用WPS表格绘制函数图像还是不太方便,我们还可以用什么样的方法实现函数的绘制呢?
可以借助计算机程序描点绘制函数来达到速度快且精度高的效果。
任务:绘制数学函数曲线
➢ 活动2 利用Python绘制正弦曲线
• 4.2 数值计算
借助计算机程序描点,可以达到速度快且精确度 高的效果。下面我们尝试利用Python编写程序绘 制正弦曲线。
课堂小结
• 4.2 数值计算
绘制 数学 函数 曲线
wps绘制 Python绘制
numpy模块
matplotlib 模块
课后作业
• 4.2 数值计算
➢ 利用Python绘制x5+x4+x-3=0在区 间【-1,2】的函数图像。
感谢观看
学无பைடு நூலகம்境 永攀高峰
① 利用课本上间隔30的数据; ② 利用间隔1度的数据,绘制正弦函数图像。
任务:绘制数学函数曲线
➢ 活动1 用WPS表格绘制正弦曲线
• 4.2 数值计算
仔细观察图像,会发现图像的关键点太少,精度不够,图像不光滑。要想提高图像的光滑 程度,就要减小角度间隔,但间隔增加,工作量也会随之增加:每隔1°画一个点,数据 表上就会增加300多行新数据;如果以0.1°为间隔,将有3000多行数据。
上机实践4
课堂小测
• 4.2 数值计算
填空题
1.numpy是一个科学计算包,其中包括很多________,如________、矩 阵计算方法、________、线性代数等。通过numpy模块中的________函数 可以创建一个等差数列。 如在0-2π之间每隔0.01取个值,则可以用_ _______表示,其中numpy.pi表示________。 2.matplotlib模块是一个________。matplotlib的绘图原理很简单,利 用________画线函数就可以在直角平面内轻松地将________坐标点对连接 成平滑曲线。
可以借助计算机程序描点绘制函数来达到速度快且精度高的效果。
任务:绘制数学函数曲线
➢ 活动2 利用Python绘制正弦曲线
• 4.2 数值计算
借助计算机程序描点,可以达到速度快且精确度 高的效果。下面我们尝试利用Python编写程序绘 制正弦曲线。
课堂小结
• 4.2 数值计算
绘制 数学 函数 曲线
wps绘制 Python绘制
numpy模块
matplotlib 模块
课后作业
• 4.2 数值计算
➢ 利用Python绘制x5+x4+x-3=0在区 间【-1,2】的函数图像。
感谢观看
学无பைடு நூலகம்境 永攀高峰
① 利用课本上间隔30的数据; ② 利用间隔1度的数据,绘制正弦函数图像。
任务:绘制数学函数曲线
➢ 活动1 用WPS表格绘制正弦曲线
• 4.2 数值计算
仔细观察图像,会发现图像的关键点太少,精度不够,图像不光滑。要想提高图像的光滑 程度,就要减小角度间隔,但间隔增加,工作量也会随之增加:每隔1°画一个点,数据 表上就会增加300多行新数据;如果以0.1°为间隔,将有3000多行数据。
上机实践4
课堂小测
• 4.2 数值计算
填空题
1.numpy是一个科学计算包,其中包括很多________,如________、矩 阵计算方法、________、线性代数等。通过numpy模块中的________函数 可以创建一个等差数列。 如在0-2π之间每隔0.01取个值,则可以用_ _______表示,其中numpy.pi表示________。 2.matplotlib模块是一个________。matplotlib的绘图原理很简单,利 用________画线函数就可以在直角平面内轻松地将________坐标点对连接 成平滑曲线。
《数值计算方法》课件 (2)
![《数值计算方法》课件 (2)](https://img.taocdn.com/s3/m/f920ae0532687e21af45b307e87101f69e31fbe0.png)
模拟仿真
应用数值计算方法进行仿真和实 验,验证理论和验证结果。
数值计算方法的发展
历史演变
回顾数值计算方法的发展历程和重要里程碑。
未来趋势
展望数值计算方法在人工智能和大数据时代的 应用前景。
数值计算方法与其他学科的关联
1
数学
数值计算方法是数学在计算科学中的具体应用。
2
计算机科学
数值计算方法依赖于计算机科学的算法和数据结构。
2
优化算法
探讨数值计算方法的优化法,如梯度下降和共轭梯度法。
3
实际应用
展示数值计算方法在实际问题中的应用,如最优化和插值。
数值计算方法的误差分析
1 精度和稳定性
解释数值计算方法的精度 和稳定性以及其对计算结 果的影响。
2 截断误差
讨论数值计算方法中的截 断误差产生原因和如何减 小误差。
3 舍入误差
3
工程学
数值计算方法在工程学中的应用广泛,如结构分析和流体力学。
结语
数值计算方法是计算科学和工程学中的基础领域,掌握数值计算方法对于解决实际问题具有重要意义。
解释数值计算方法中的舍 入误差,以及浮点数表示 和运算的限制。
数值计算
数值计算是利用计算机进行数值计算的过程,通过数值计算方法解决实际问题,如方程求解和函数逼近。
数值计算方法的选择
决策方面
评估不同数值计算方法在特定问 题上的可行性和效果。
数据分析
比较数值计算方法在数据处理和 模型拟合中的效率和准确性。
《数值计算方法》PPT课件 (2)
数值计算方法的介绍 - 什么是数值计算方法 - 数值计算方法的应用领域 - 数值计算方法的重要性 数值计算方法的基本原理 - 数值计算方法的概念 - 常用的数值计算方法 - 数值计算方法的数学原理
高中信息技术教科版(2019)必修一 4.2数值计算(第1课时) 课件 (共15张PPT)
![高中信息技术教科版(2019)必修一 4.2数值计算(第1课时) 课件 (共15张PPT)](https://img.taocdn.com/s3/m/8dec8d61c77da26924c5b00f.png)
20 1 9
4.2 数值计算(第1课时)
1.通过求解一元二次方程的解,了解计算机 编程解决数值计算问题的一般流程,并能够 使用解析法解决实际问题。
2.通过绘制一元多次方程函数图像,了解 Python利用numpy和matplotlib两个模块绘制 图像的基本方法。
第二部分 教材
3
能够利用numpy和matplotlib两个模块绘制函数图像。
numpy还支持处理大型矩阵、矢量运算、线性 代数等功能。
参考上述代码,让我们一起来完善以下Python程序, 尝试绘出“sin(x)” “sin(-x)”和“sin(2x)/2”的图像。
import numpy as np
import matplotlib.pyplot as plt x=np.arange(0,2*np.pi,0.01) y1=np.sin(x) y2=np.sin(-x) y3=np.sin(2*x)/2
Python外置库安装方法:
1、访问网址下载对应的文件 (和你的windows系统及Python版本都要对应) (1)从https:///pypi/matplotlib/ (2)从https:///pypi/numpy/
2、把这些文件直接复制到你的Python路径下的Scripts文件夹中 例如C:\Users\owner\AppData\Local\Programs\Python\Python36\Scripts文件夹中; 3、在文件夹中按shift键的同时单击鼠标右键,选择“在此处打开命令窗口”弹出cmd窗口 复制下列代码回车运行:
利用Python程序绘制的函数图像
振幅和周期发生了变化。对比用WPS表格绘制y=sin(x) 、y=sin(-x)和y= sin(2x) /2 函数的图像平滑了很多。
4.2 数值计算(第1课时)
1.通过求解一元二次方程的解,了解计算机 编程解决数值计算问题的一般流程,并能够 使用解析法解决实际问题。
2.通过绘制一元多次方程函数图像,了解 Python利用numpy和matplotlib两个模块绘制 图像的基本方法。
第二部分 教材
3
能够利用numpy和matplotlib两个模块绘制函数图像。
numpy还支持处理大型矩阵、矢量运算、线性 代数等功能。
参考上述代码,让我们一起来完善以下Python程序, 尝试绘出“sin(x)” “sin(-x)”和“sin(2x)/2”的图像。
import numpy as np
import matplotlib.pyplot as plt x=np.arange(0,2*np.pi,0.01) y1=np.sin(x) y2=np.sin(-x) y3=np.sin(2*x)/2
Python外置库安装方法:
1、访问网址下载对应的文件 (和你的windows系统及Python版本都要对应) (1)从https:///pypi/matplotlib/ (2)从https:///pypi/numpy/
2、把这些文件直接复制到你的Python路径下的Scripts文件夹中 例如C:\Users\owner\AppData\Local\Programs\Python\Python36\Scripts文件夹中; 3、在文件夹中按shift键的同时单击鼠标右键,选择“在此处打开命令窗口”弹出cmd窗口 复制下列代码回车运行:
利用Python程序绘制的函数图像
振幅和周期发生了变化。对比用WPS表格绘制y=sin(x) 、y=sin(-x)和y= sin(2x) /2 函数的图像平滑了很多。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1> 多项式的四则运算
多项式四则运算主要是多项式的加,减,乘,除.其中,多项 式的加减运算要求两个相加,减的多项式的大小必须相 等,此时加,减才有效. 当两个相加,减的多项式阶次不同 时必须通过补0使其相同. T=deconv(T1, T3)
加/减---+/-
[T, r]=deconv(T1,T3)
T=T1+T2;
% 必须是同维的才能相加
T_add=poly2sym(T)
T=T1-T2;
T_sub=poly2sym(T)
T=conv(T1,T2);
% 乘法不要求同维
T_mul=poly2sym(T)
[A_coe, A_r]=deconv(T1,T3);
T_coe=poly2sym(A_coe)
T1=[2,5,0,4,1,4]; h=polyder(T1); poly2sym(h)
10*x^4+20*x^3+8*x+1
4> 拟合和插值---polyfit, interp1
x0,y0---给定数据对
p = polyfit(x0, y0, n); [p, s] = polyfit(x0, y0, n);
n----拟合出的多项式次数 p---多项式向量
s---偏差信息
yi=interp1(x0, y0, xi, 'cubic'); xi, yi---得到的新的插值点
cubic---插值方式
例4.1.1-7 对下列数据对(x0,y0)求三次拟合多项式并绘图. x0=0:0.1:1; y0=[-0.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58, 3.45,5.35,9.22];
第四章 数值计算
数值计算内容:
数值计算包括:多项式运算, 线性方程组求解, 矩阵特征值问题 的解, 卷积, 数据分析, 泛函指令的使用, 信号处理和系统分析.
4.1 多项式运算 多项式运算是数学中最基本的运算之一.多项式一般可 以表示为:
f(x)=a0xn+a1xn-1+a2xn-2+…+an-1x+an
乘/除---conv, deconv
商多项式 余式
T3为分母
例4.1.1-3 多项式的加减乘除运算 f1(x)=2x5+5x4+4x2+x+4, f2(x)=5x3+x2+3x+2
T1=[2, 5, 0, 4, 1, 4];
T2=[0, 0, 5, 1, 3, 2];
T3=[5, 1, 3, 2]; % 除法运算中分母多项式第一个系数不能为0
x0=0:0.1:1;
y0=[-0.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];
n=3;
% 设定拟合次数为3
[p,s]=polyfit(x0,y0,n); % 得到拟合多项式向量和相关偏差信息
xx=0:0.01:1;
yy=polyval(p,xx);
T_rem=poly2sym(A_r)
例4.1.1-4 多项式求值,求上式f1(x)在x=0.5处的函数值
T1=[2,5,0,4,1,4]; x=0.5; y=polyval(T1,x)
y= 5.8750
2> 多项式求根---roots 例4.1.1-5 求多项式f1(x)=2x5+5x4+4x2+x+4的根
text(0.5, y3-0.3, 'n=3');
text(0.5, y6+0.2, 'n=6');
y=348.21x6-1060.23x5+1297.68x4-758.90x3+ 181.00x2 + 1.00x+0.48
y=51.48x3 -77.74x2+35.06x-0.20
拟合只能在给定数据所限定的区间内使用, 不要任意向外拓展. 例4.1.1-8 按上例所给数据研究插值, 并观察插值和拟合的区别.
% 按拟合曲线计算采样值
n1=6;
% 设定拟合次数为6Fra bibliotek[p1,s1]=polyfit(x0,y0,n1);
yy1=polyval(p1,xx);
plot(xx,yy,'-b',xx,yy1,'-m',x0,y0,'.r','MarkerSize',20);
y3=polyval(p,0.5); y6=polyval(p1,0.5);
对于这种表示形式,很容易用一个行向量表示,即: 幂 T=[a0,a1,a2,…an-1,an]
在MATLAB中, 多项式正是用这样一个行向量表示的, 系数是按降序排列的.
4.1.1 多项式构造
多项式可以直接用向量表示, 因此, 构造多项式最简单的方法是 直接输入向量.
例4.1.1-1 直接输入向量构造 f(x)=2x5+5x4+4x2+x+4
T1=[2, 5, 0, 4, 1, 4]; root=roots(T1);
root = -2.7709 0.5611 + 0.7840i
0.5611 - 0.7840i
-0.4257 + 0.7716i
-0.4257 - 0.7716i
3> 多项式的导数运算---polyder
例4.1.1-6 求多项式f1(x)=2x5+5x4+4x2+x+4的导数
r=[1,2,3,4]; T1=poly(r); y=poly2sym(T1) y_class=class(y)
T1 = 1 -10 35 -50 24
y= x^4-10*x^3+35*x^2-50*x+24
y_class = sym
4.1.2 多项式的运算
多项式的运算主要包括多项式的四则运算,导数运算, 估值运算,求根运算以及多项式的拟合等.
x0=0:0.1:1; y0=[-0.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];
xi=0:0.02:1; yi=interp1( x0, y0, xi, 'cubic' ); subplot(1,2,1); plot(xi, yi, '-b', x0, y0, '.r', 'MarkerSize', 20); xlabel('x'), ylabel('y'); [p,s]=polyfit(x0,y0,3); xx=0:0.01:1; yy=polyval(p,xx); subplot(1,2,2); plot(xx, yy, '-r', x0, y0, '.r', 'MarkerSize', 20); xlabel('x'); ylabel('y');
T=[2, 5, 0, 4, 1, 4]; fx=poly2sym(T)
fx = 2*x^5+5*x^4+4*x^2+x+4
函数poly2sym是符号工具箱中的函数,在用此种方式 构造多项式时, 必须把多项式各项的系数写完整, 而不 管此项的系数是否为0
例4.1.1-2 用多项式的根构造多项式,根为r=[1,2,3,4]