数值计算基础2
计算机数值方法教学设计 (2)

计算机数值方法教学设计引言计算机数值方法是计算机科学与数学交叉的一个重要领域,是计算机科学与数学相互渗透的成果。
随着技术的不断发展,计算机数值方法在实际应用中的地位越来越重要。
因此,本文旨在探讨计算机数值方法教学设计,以提高学生的数学思维与计算机应用水平。
教学目标计算机数值方法教学的主要目标是帮助学生了解常见的数值方法,掌握数值计算的基本方法和技巧,理解数值计算误差的产生和评价方法,以及掌握基本的编程技能。
其次,通过本课程,学生可以培养对计算机数值方法的问题进行分析和解决的能力,同时提高其解决实际计算问题的能力。
教学内容计算机数值方法教学内容包括以下几个方面:第一章:数值计算基础本章主要介绍数值计算的基本背景、数值计算的误差、舍入误差和截断误差的概念和解决方法,以及数值方法的逼近与误差分析等内容。
第二章:方程求解本章主要介绍非线性方程的求解方法、线性方程组的求解方法、迭代法、截断误差分析等内容,其中非线性方程的求解方法包括二分法、割线法和牛顿法等,线性方程组的求解方法包括高斯消元法、追赶法、LU分解法等。
第三章:插值与逼近本章主要介绍插值与逼近的方法及其误差分析。
其中,插值方法包括Newton插值、Lagrange插值和Hermite插值,逼近方法包括最小二乘法、样条插值和函数逼近。
第四章:数值微积分本章主要介绍数值微积分方法,包括数值积分、数值微分、数值求解微分方程等内容。
第五章:优化问题本章主要介绍优化问题的基础知识,包括优化方法、优化模型、约束条件等内容。
第六章:应用实例本章主要介绍计算机数值方法在各领域的应用实例,包括工程计算、金融计算、图形学等。
教学方法为了提高教学效果,采用多种教学方法进行授课,包括:1. 讲座式教学讲座式教学是最常见的教学方法,通过传授知识和技能来提高学生的知识水平。
2. 实验教学通过实验设计,让学生亲自动手操作,通过实践发现问题和解决问题。
3. 讨论式教学讨论式教学是一种以学生为主体、以讨论为主的教学方式,提高学生的思维力与分析能力。
数值分析2数值计算中的基本原则

已知f(x)=0在[a,b]内有一根,且f(a)f(b)<0
(1)计算:x00.5(a+b),y0f(x0),y1f(a)
判断,若y0=0,则x0是根,否则转下一步; (2)判断,若y0·1<0,则a1a, b1 x0 y
否则 a1x0, b1b, y1 y0
f(a1) f(b1) < 0
在算法执行过程中,舍入误差对计算结 果影响不大的一类算法被称为数值稳定 算法;否则称为不稳定算法.
8/18
例2.水中浮球问题
有一半径r =10 cm的球体,密 度 =0.638.球体浸入水中后, 浮出水面的高度h是多少?
r
d
设球体浸入水中的深度 d .根据阿基米德定律, 物体排开水的质量就是水对物体的浮力。
M 4 3
r
3
V
d 0
[ r ( r x ) ]dx
2 2
整理得:
d 3 – 3 r d 2 + 4 r 3 = 0
9/18
由 =0.638, r = 10.代入,得d 3 – 30 d 2 + 2552 = 0
令 f (x) = x 3 – 30 x 2 + 2552 ,函数图形如下所示 求解方程 f(x)=0, 即是求函数 f(x)的 零点. f(x) 的零点 所在区间为 [10,15]
A (1 x )
m
P
1 (1 x )
m
1 (1 x )
12/18
A
P x
[1 ( 1 x )
1500 x
m
]
180
230000
[1 ( 1 x )
]
数值分析试题与答案解析

范文 范例 指导 学习数值分析试题一、 填空题( 2 0 ×2′)1.3 22A1, X2 3设 x=0.231 是精确值 x*=0.229 的近似值,则 x 有2位有效数字。
2. 若 f ( x)= x 7 - x 3 + 1 , 则 f [2 0,2 1,2 2,2 3,2 4 ,2 5,2 6,2 7]= 1,123456780 。
f [2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ]=3. 设,‖ A ‖∞=___5 ____ ,‖ X ‖∞=__ 3_____ ,‖AX ‖∞≤_15_ __ 。
4. 非线性方程 f ( x)=0 的迭代函数 x= ( x) 在有解区间满足| ’( x)| <1 ,则使用该迭代函数的迭代解法一定是局部收敛的。
a b 上的三次样条插值函数S x 在 a b 上具有直到 2 阶的连续导数。
5.区间[,]( ) [ , ]6. 当插值节点为等距分布时,若所求节点靠近首节点,应该选用等距节点下牛顿差商公式的 前插公式 ,若所求节点靠近尾节点,应该选用等距节点下牛顿差商公式的 后插公式;如果要估计结果的舍入误差,应该选用插值公式中的拉格朗日插值公式。
n7. 拉格朗日插值公式中 f ( x i ) 的系数 a i ( x) 的特点是:a i ( x )1;所i 0以当系数 a i ( x) 满足 a i ( x)>1,计算时不会放大 f ( x i )的误差。
8. 要使 20 的近似值的相对误差小于 0.1%,至少要取 4位有效数字。
9. 对任意初始向量 X (0) 及任意向量 g ,线性方程组的迭代公式x ( k+1) Bx ( k) g k=0,1,⋯ )= + (收敛于方程组的精确解 x* 的充分必要条件是(B)<1。
10. 由下列数据所确定的插值多项式的次数最高是5。
范文范例指导学习x00.51 1.52 2.5 y=f ( x)-2-1.75-10.252 4.25 11.牛顿下山法的下山条件为|f(xn+1)|<|f(xn)|。
Python数据分析与应用 第2章 NumPy数值计算基础

掌握 NumPy 数组对象 ndarray
创建数组对象
➢ 使用 linspace 函数创建数组 ➢ 使用 logspace 函数创建等比数列
In[9]: print('使用 linspace 函数创建的数组为:',np.linspace(0, 1, 12)) Out[9]: 使用linspace函数创建的数组为: [ 0. 0.09090909 … 1. ]
使用 arange 函数创建数组
In[8]: Out[8]:
print(' 使 用 arange 函 数 创 建 的 数 组 为 : \n',np.arange(0,1,0.1))
使用arange函数创建的数组为: [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
8
使用diag函数创建的数组为: [[1 0 0 0] Out[13]: [0 2 0 0] [0 0 3 0] [0 0 0 4]]
In[14]: print('使用ones函数创建的数组为:',np.ones((5,3)))
使用ones函数创建的数组为:
[[ 1. 1. 1.]
Out[14]:
[ 1. 1. 1.] [ 1. 1. 1.]
3
目录
1
掌握 NumPy 数组对象 ndarray
2
掌握 NumPy 矩阵与通用函数
3
利用 Nndarray
创建数组对象
1.数组创建 numpy.array(object, dtype=None, copy=True, order='K',subok=False, ndmin=0)
创建数组对象
数值计算方法第2版 第4章 插值法

则
l ( x ) 1 ( k i ) , k i l ( x ) 0 ( k i ) , i 、 k 0 , 1 , , n k i
lk (x)称为关于节点xi( i=0,1,…,n)的n次插值基函数。
基函数的特点
1. 基函数的个数等于节点数。 2. n+1个节点的基函数是n次代数多项式。 3. 基函数和每一个节点都有关。节点确定,基函数就唯 一的确定。 4. 基函数和被插值函数无关。 5. 基函数之和为1。
公式的结构:它是两个一次函数的线性组合 线性插值基函数
x x 1 l ( x ) , 0 x x 0 1 x x 0 l ( x ) 1 x x 1 0
3 线性插值的几何意义 用直线 P ( x ) 近似代替被插值函数 f ( x ) 。
例
造数学用表。平方根表
给定函数在100、121两点的平方根如下表,试用线性 插值求115的平方根。 x 100 121
其系数行列式
a0 a1 x0 a2 x02 an x0n y0 2 n a0 a1 x1 a2 x1 an x1 y1 2 n a a x a x a x n n yn 0 1 n 2 n
1 x 0 x 02
x 0n
2 n 1 x x x 1 1 ( x x 0 V ( x , x , , x ) 1 i j) 0 1 n 0 j i n
1 xn
x n2 x nn
,a , ,a 0 1 n ,因此P(x)存在且唯一。 方程组有唯一解 a
唯一性说明不论用那种方法构造的插值多 项式只要满足相同的插值条件,其结果都是互 相恒等的。 推论 当f(x)是次数不超过n的多项式时, 其n次插值多项式就是f(x)本身。
数值计算方法第2章2-1节

(2)计算
f
(
a
2
b)
。
(3)若
f
(
a
2
b
)
0
,计算停止;若
f
(
a
2
b
)
f
(a)
0
,用
若
f
(
a
2
b)
f
(b)
0
,以
a
2
b
代替
a
。
a
2
b
代替
b
;
(4)反复执行第二步与第三步,直到区间长缩小到允许误差范围
之内,此时区间中点即可作为所求的近似解。
18
证明方程 x3 3x2 6x 1 0 在区间(0,1)内有唯一的实根,并
在[-1,-0.25],[0.5,1.25],[1.25,2]各区间内至少有一个实根。
10
2.1.3 区间二分法
定理 函数f(x)在[a,b]上单调连续,且f(a)f(b)<0, 则方程f(x)=0在区间[a,b]上有且仅有一个实根x*。
二分法的基本思想 将有根的区间二分为两个小区间,然后判断根在那 个小区间,舍去无根的小区间,而把有根的小区间 再一分为二,再判断根属于哪个更小的区间,如此 反复 ,直到求出满足精度要求的近似根。
5
有根区间
介值定理 若函数 f (x) 在[a, b] 连续,且
f (a) f (b) 0 ,则方程 f ( x) 0 在(a,b) 内至
少有一个实根。将[a, b] 称为 f (x) 的有根区间。
6
2.1.2 逐步搜索法
假设f(x)在区间[a,b]内有一
个实根x*,若 b – a较小,则可 在(a,b)上任取一点x0作为初始 近似根。
数值计算基础实验报告(3篇)

第1篇一、实验目的1. 理解数值计算的基本概念和常用算法;2. 掌握Python编程语言进行数值计算的基本操作;3. 熟悉科学计算库NumPy和SciPy的使用;4. 分析算法的数值稳定性和误差分析。
二、实验内容1. 实验环境操作系统:Windows 10编程语言:Python 3.8科学计算库:NumPy 1.19.2,SciPy 1.5.02. 实验步骤(1)Python编程基础1)变量与数据类型2)运算符与表达式3)控制流4)函数与模块(2)NumPy库1)数组的创建与操作2)数组运算3)矩阵运算(3)SciPy库1)求解线性方程组2)插值与拟合3)数值积分(4)误差分析1)舍入误差2)截断误差3)数值稳定性三、实验结果与分析1. 实验一:Python编程基础(1)变量与数据类型通过实验,掌握了Python中变量与数据类型的定义方法,包括整数、浮点数、字符串、列表、元组、字典和集合等。
(2)运算符与表达式实验验证了Python中的算术运算、关系运算、逻辑运算等运算符,并学习了如何使用表达式进行计算。
(3)控制流实验学习了if-else、for、while等控制流语句,掌握了条件判断、循环控制等编程技巧。
(4)函数与模块实验介绍了Python中函数的定义、调用、参数传递和返回值,并学习了如何使用模块进行代码复用。
2. 实验二:NumPy库(1)数组的创建与操作通过实验,掌握了NumPy数组的基本操作,包括创建数组、索引、切片、排序等。
(2)数组运算实验验证了NumPy数组在数学运算方面的优势,包括加、减、乘、除、幂运算等。
(3)矩阵运算实验学习了NumPy中矩阵的创建、操作和运算,包括矩阵乘法、求逆、行列式等。
3. 实验三:SciPy库(1)求解线性方程组实验使用了SciPy库中的线性代数模块,通过高斯消元法、LU分解等方法求解线性方程组。
(2)插值与拟合实验使用了SciPy库中的插值和拟合模块,实现了对数据的插值和拟合,并分析了拟合效果。
数值计算课后规范标准答案2

习 题 二 解 答1.用二分法求方程x 3-2x 2-4x-7=0在区间[3,4]内的根,精确到10-3,即误差不超过31102-⨯。
分析:精确到10-3与误差不超过10-3不同。
解:因为f(3)=-10<0,f(4)=9>0,所以,方程在区间[3,4]上有根。
由34311*1022222n n n n n n b a b a x x -----≤===<⨯ 有2n-1>1000,又为210=1024>1000, 所以n =11,即只需要二分11次即可。
x *≈x 11=3.632。
指出:(1)注意精确度的不同表述。
精确到10-3和误差不超过10-3是不同的。
(2)在计算过程中按规定精度保留小数,最后两次计算结果相同。
如果计算过程中取4位小数,结果取3位,则如下表:(3)用秦九韶算法计算f(x n )比较简单。
1*.求方程x 3-2x 2-4x-7=0的隔根区间。
解:令32247y x x x =---, 则2344322()()y x x x x '=--=+-当23443220()()y x x x x '=--=+-=时,有12223,x x =-=。
函数单调区间列表分析如下:因为214902150327(),()y y -=-<=-<,所以方程在区间223(,)-上无根; 因为21490327()y -=-<,而函数在23(,)-∞-上单调增,函数值不可能变号,所以方程在该区间上无根;因为2150()y =-<,函数在(2,+∞)上单调增,所以方程在该区间上最多有一个根,而(3)=-10<0,y(4)=9>0,所以方程在区间(3,4)有一个根。
所以,该方程有一个根,隔根区间是(3.4)。
2.证明1sin 0x x --=在[0,1]内有一个根,使用二分法求误差不大于41102-⨯的根,需要迭代多少次?分析:证明方程在指定区间内有一个根,就是证明相应的函数在指定区间有至少一个零点。
数值计算二阶方法

数值计算二阶方法二阶方法是数值计算中用于求解微分方程的一种方法。
它的基本思想是通过逼近导数和二阶导数的数值解,并利用数值解逐步逼近微分方程的解。
在介绍二阶方法之前,我们先回顾一下一阶方法。
一阶方法是通过逼近微分方程中的一阶导数来求解微分方程的。
其中最常用的一阶方法是欧拉方法,即利用切线逼近曲线。
它的公式为:y_n+1=y_n+h*f(x_n,y_n),其中h为步长,f为微分方程右端的函数。
虽然欧拉方法可以有效地求解一阶微分方程,但它的精度不高,容易产生较大的误差。
二阶方法通过逼近微分方程中的二阶导数来提高精度,并减少误差的产生。
最常见的二阶方法是改进的欧拉方法,也称为龙格-库塔方法(Runge-Kutta方法)。
龙格-库塔方法通过使用多个插值点来逼近导数和二阶导数,并结合这些插值点来更新函数值。
其中最常用的二阶龙格-库塔方法为Heun方法,其公式为:k1=h*f(x_n,y_n),k2=h*f(x_n+h,y_n+k1),y_n+1=y_n+0.5*(k1+k2)。
在Heun方法中,首先计算出一个初始斜率k1,然后根据此斜率来计算一个中间点的函数值。
然后再计算第二个斜率k2,并使用斜率的平均值来更新函数值。
通过这种方式,Heun方法可以得到相比欧拉方法更准确的数值解。
除了Heun方法,还有其他多种二阶龙格-库塔方法,如改进的欧拉法(改进的Euler法),其中最著名的是RK4法。
RK4法是四阶方法,即它可以通过四个插值点来逼近导数和二阶导数。
RK4法的公式为:k1=h*f(x_n,y_n),k2=h*f(x_n+0.5*h,y_n+0.5*k1),k3=h*f(x_n+0.5*h,y_n+0.5*k2),k4=h*f(x_n+h,y_n+k3),y_n+1=y_n+(1/6)*(k1+2*k2+2*k3+k4)。
通过使用更多的插值点,RK4法相比于Heun方法更加准确,并且可以进一步提高数值解的精度。
数值计算的基础知识与应用

数值计算的基础知识与应用数值计算的基础知识与应用数值计算是一种利用计算机来求解数学问题的方法。
它可以用来解决各种实际问题,如物理、工程、经济、金融等领域中的问题。
数值计算的基础知识包括数值方法、误差分析、计算机算法等方面,这些知识是数值计算的基础。
一、数值方法数值方法是指把一个数学问题转化为一系列计算机可以处理的数值运算的方法。
它通常包括离散化、数值逼近和数值积分等内容。
离散化是指将连续的数学问题转化为离散的数值问题,如用差分法将微分方程离散化。
数值逼近是指用有限个已知函数来逼近一个未知函数或一组数据的方法,例如多项式逼近和插值方法。
数值积分是指将一个函数在一定区间上求积分的数值方法,例如辛普森公式和龙格-库塔法。
二、误差分析误差分析是数值计算的一个重要问题。
因为数值计算中存在各种误差,如截断误差、舍入误差和传播误差等。
截断误差是指由于选择适当的数值方法而引入的误差,如差分法的截断误差。
舍入误差是由计算机对数值进行处理而引入的误差,如计算机中浮点数位数有限所引进的误差。
而传播误差是指由于误差在计算过程中逐步积累而引入的误差。
为了评估数值计算的精度和可靠性,需要进行误差分析。
误差分析既可以从理论上进行,也可以通过数值实验进行。
理论误差分析需要了解数值方法的理论误差,并利用数学分析技术来证明误差的收敛性和稳定性。
而数值实验误差分析则是通过计算机程序模拟数学问题,在人工或计算机实验中确定误差的大小和性质。
三、计算机算法计算机算法是指用计算机解决数学问题的方法和技术。
有很多数值计算的算法,如快速傅里叶变换、迭代求解法、高斯消元法、梯形法则等等。
这些算法都是经过几十甚至几百年不断研究和完善的,它们在实际应用中具有很高的有效性和精度。
由于计算机算法的复杂性和多样性,不同的算法适用于不同的数学问题。
在实际应用中,选择适当的算法对解决问题至关重要。
同时,为了提高计算机的效率,需要对算法进行优化,例如通过高性能计算和并行计算来提高算法的效率和精度。
数值计算方法 第2章复习

第2章 线性方程组直接解法一、考核知识点:高斯消元法,主元消元法(列主元消元法),追赶法,矩阵的三角分解。
二、考核要求:1.了解高斯消元法、主元消元法、追赶法的基本思想和使用条件2.掌握矩阵的三角分解(LU 分解,LDU 分解)、追赶法。
3.熟练掌握用列主元消元法求解线性方程组的方法。
三、重、难点分析例1 用列主元消元法解方程组。
⎪⎩⎪⎨⎧=++=++=++53368435532321321321x x x xx x x x x注意:每次消元时主元的选取是各列中系数最大的。
解 第1列主元为3,交换第1、2方程位置后消元得, ⎪⎪⎪⎩⎪⎪⎪⎨⎧=+=-=++331351313168433232321x x x x x x x第2列主35,元为交换第2、3方程位置后消元得 ⎪⎪⎪⎩⎪⎪⎪⎨⎧=-=+=++5252331356843332321x x x x x x回代解得 2,2,1123==-=x x x例2.将矩阵A 进行三角分解(LU 分解,LDU 分解)其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=1332222224A 说明:一般进行矩阵的三角分解采用紧凑格式。
即应用矩阵乘法和矩阵相等原则进行矩阵的三角分解(或代入公式求得相应元素)。
在分解时注意矩阵乘法、矩阵求逆等代数运算。
解: 9,2;1,121,21;2,2,43322123132321321232312212222113131112121131312121111=-=-=-=-==-=-====-======r r r l a l r l a r r l a r a a l a a l a r a r a r则矩阵的LU 分解为 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----911224122112111332222224 因为对角阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=914D ,则⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡--==-111212111R D U 所以矩阵的LDU 分解为 ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡--⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----11121211914122112111332222224。
第2章 NumPy数值计算

9
ndarray的索引与切片
1. 一维ndarray的索引
In[30]: print('元素位置等差索引结果为:', arr[1:-1:2]) Out[30]: 元素位置等差索引结果为: [ 1 101 5 7] In[31]: # 步长为负数时,开始位置必须大于结束位置
➢ array函数的常用参数及其说明如下表所示。
参数名称 object
dtype ndmin
说明
接收array,list,tuple等。表示用于创建ndarray的数据。无默认值
接收data-type。表示创建的ndarray的数据类型。如果未给定,那么 选择保存对象所需的最小字节数的数据类型。无默认值 接收int。指定生成ndarray应该具有的最小维数。默认为0
14
ndarray的索引与切片
3. 花式索引
➢ 对二维ndarray传入两个索引ndarray进行花式索引,返回的是一个一维ndarray。此时,其中两个ndarray的元素一 一对应,如下代码所示。
In[40]: arr = np.array([np.arange(i*4, i*4+4) for i in np.arange(6)]) print('创建的二维ndarray arr为:\n', arr)
7
创建ndarray对象
2. 随机数
➢ randint函数能够根据给定的上下限范围生成随机整数ndarray,它稍比其他生成随机数的函数复杂,共有3个参 数,其基本语法格式如下。
4.2数值计算(第2课时)教学设计-2023—2024学年高中信息技术教科版(2019)必修1

知识讲解:
清晰、准确地讲解数值计算的基本概念、方法和应用,结合实例帮助学生理解。
突出数值计算的重点,强调难点,通过对比、归纳等方法帮助学生加深记忆。
互动探究:
设计小组讨论环节,让学生围绕数值计算问题展开讨论,培养学生的合作精神和沟通能力。
鼓励学生提出自己的观点和疑问,引导学生深入思考,拓展思维。
本节课的教学内容来自于2023-204学年高中信息技术教科版(2019)必修1的4.2数值计算(第2课时)。该部分内容主要介绍了数值计算的基本概念、方法和应用。具体内容包括:
1.数值计算的定义:通过计算机程序实现数学问题的数值求解过程。
2.数值计算方法:包括直接法、迭代法、蒙特卡洛法等,以及它们在实际问题中的应用。
同时,我也会增加更多的互动和讨论环节,鼓励学生提出问题和发表自己的观点,提高学生的参与度和学习兴趣。我也会更加注重学生的反馈,及时调整教学方法和策略,以提高教学效果。
板书设计
1.数值计算的基本概念
-定义
-应用领域
-特点
2.数值计算方法
-直接法
-迭代法
-蒙特卡洛法
3.数值计算的误差分析
-舍入误差
-截断误差
教学资源
1.软硬件资源:
-计算机教室,每台计算机安装有MATLAB软件;
-投影仪,用于展示教学内容和实例分析;
-网络连接,用于访问在线资源和分享文件。
2.课程平台:
-学校内部的课程管理系统,用于发布教学材料、作业和实验任务;
-云端存储平台,用于保存和共享学生的实验数据和报告。
3.信息化资源:
-教学PPT,包含数值计算的基本概念、方法和应用的讲解;
鼓励学生分享学习数值计算的心得和体会,增进师生之间的情感交流。
4.2数值计算(第二课时)优秀教学案例教科版高中信息技术必修1

本案例的亮点在于教学内容与学生生活实际相结合,教学方法灵活多样,注重学生的实践能力和创新精神的培养,小组合作学习环节丰富,教学评价多元化。这些亮点使本案例具有较高的实用性和参考价值,有助于提高学生的信息技术素养,培养他们成为具有创新精神和实践能力的现代人。
三、教学策略
(一)情景创设
1.结合生活实际,创设有趣、具有挑战性的情景,激发学生的学习兴趣。
2.通过多媒体演示、网络资源等,为学生提供丰富的学习材料,拓宽他们的知识视野。
3.利用信息技术手段,如虚拟实验室等,让学生在实践中感受数值计算的应用,提高他们的实践能力。
4.创设合作交流的平台,让学生在讨论、分享中相互启发,培养他们的团队协作能力和沟通能力。
2.结合实例,阐述数值计算在实际问题中的应用,让学生深刻理解其意义。
3.引导学生通过自主学习、合作交流,探究数值计算的原理和操作步骤。
4.教师针对学生的学习情1.教师提出具有挑战性的问题,引导学生进行小组讨论。
2.学生通过讨论、交流,共同解决问题,提高团队协作能力和沟通能力。
在案例的实践环节,我设计了一系列具有挑战性的练习题,让学生运用所学的数值计算方法进行实际操作。通过这一环节,学生能够巩固所学知识,提高解决问题的能力。在案例的总结环节,我采用学生自主总结、教师点评的方式,使学生对数值计算方法有一个全面、深入的认识。
本节课的教学案例充分体现了以学生为中心的教育理念,注重培养学生的实践能力、创新能力和团队合作能力。在教学过程中,我充分发挥了教师的主导作用,引导学生积极参与课堂,提高他们的信息技术素养。通过这份优秀教学案例,我相信学生在数值计算方面的能力得到了很大的提升。
最新数值计算课后答案2

习 题 二 解 答1.用二分法求方程x 3-2x 2-4x-7=0在区间[3,4]内的根,精确到10-3,即误差不超过31102-⨯。
分析:精确到10-3与误差不超过10-3不同。
解:因为f(3)=-10<0,f(4)=9>0,所以,方程在区间[3,4]上有根。
由34311*1022222n n n n n n b a b a x x -----≤===<⨯ 有2n-1>1000,又为210=1024>1000, 所以n =11,即只需要二分11次即可。
x *≈x 11=3.632。
指出:(1)注意精确度的不同表述。
精确到10-3和误差不超过10-3是不同的。
(2)在计算过程中按规定精度保留小数,最后两次计算结果相同。
如果计算过程中取4位小数,结果取3位,则如下表:(3)用秦九韶算法计算f(x n )比较简单。
1*.求方程x 3-2x 2-4x-7=0的隔根区间。
解:令32247y x x x =---, 则2344322()()y x x x x '=--=+-当23443220()()y x x x x '=--=+-=时,有12223,x x =-=。
因为214902150327(),()y y -=-<=-<,所以方程在区间223(,)-上无根;因为21490327()y -=-<,而函数在23(,)-∞-上单调增,函数值不可能变号,所以方程在该区间上无根;因为2150()y =-<,函数在(2,+∞)上单调增,所以方程在该区间上最多有一个根,而(3)=-10<0,y(4)=9>0,所以方程在区间(3,4)有一个根。
所以,该方程有一个根,隔根区间是(3.4)。
2.证明1sin 0x x --=在[0,1]内有一个根,使用二分法求误差不大于41102-⨯的根,需要迭代多少次?分析:证明方程在指定区间内有一个根,就是证明相应的函数在指定区间有至少一个零点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分别用Jacobi迭代和 迭代和Gauss-Serdel迭代法求解下列线性 例7-7 分别用 迭代和 迭代法求解下列线性 方程组,看是否收敛. 方程组,看是否收敛. 命令如下: 命令如下: a=[1,2,-2;1,1,1;2,2,1]; b=[9;7;6]; [x,n]=jacobi(a,b,[0;0;0]) [x,n]=gauseidel(a,b,[0;0;0])
(3) Cholesky分解 分解 如果矩阵X是对称正定的 是对称正定的, 分解将矩阵X分解成 如果矩阵 是对称正定的,则Cholesky分解将矩阵 分解成 分解将矩阵 一个下三角矩阵和上三角矩阵的乘积.设上三角矩阵为R, 一个下三角矩阵和上三角矩阵的乘积.设上三角矩阵为 , 则下三角矩阵为其转置, 则下三角矩阵为其转置,即X=R'R.MATLAB函数 . 函数 chol(X)用于对矩阵 进行 用于对矩阵X进行 分解, 用于对矩阵 进行Cholesky分解,其调用格式为: 分解 其调用格式为: R=chol(X):产生一个上三角阵 ,使R'R=X.若X为非对称 :产生一个上三角阵R, . 为非对称 正定,则输出一个出错信息. 正定,则输出一个出错信息. [R,p]=chol(X):这个命令格式将不输出出错信息.当X为对 :这个命令格式将不输出出错信息. 为对 称正定的, 与上述格式得到的结果相同; 称正定的,则p=0,R与上述格式得到的结果相同;否则 , 与上述格式得到的结果相同 否则p 为一个正整数.如果X为满秩矩阵 为满秩矩阵, 为一个正整数.如果 为满秩矩阵,则R为一个阶数为 为一个阶数为 q=p-1的上三角阵,且满足 的上三角阵, 的上三角阵 且满足R'R=X(1:q,1:q). . 实现Cholesky分解后,线性方程组 分解后, 变成R'Rx=b,所以 实现 分解后 线性方程组Ax=b变成 变成 , x=R\(R'\b). .
分解求解例7-1中的线性方程组 例7-4 用Cholesky分解求解例 中的线性方程组. 分解求解例 中的线性方程组. 命令如下: 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; R=chol(A) ??? Error using ==> chol Matrix must be positive definite 命令执行时,出现错误信息,说明A为非正定矩阵. 命令执行时,出现错误信息,说明 为非正定矩阵. 为非正定矩阵
第7章 MATLAB解方程与函数极值 章 解方程与函数极值 7.1 线性方程组求解 7.2 非线性方程数值求解 7.3 常微分方程初值问题的数值解法 7.4 函数极值
7.1 线性方程组求解 7.1.1 直接解法 1.利用左除运算符的直接解法 . 对于线性方程组Ax=b,可以利用左除运算符"\"求解: 求解: 对于线性方程组 ,可以利用左除运算符" 求解 x=A\b
分Hale Waihona Puke 求解例7-1中的线性方程组 例7-3 用QR分解求解例 中的线性方程组. 分解求解例 中的线性方程组. 命令如下: 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; [Q,R]=qr(A); x=R\(Q\b) 或采用QR分解的第 种格式,命令如下: 分解的第2种格式 或采用 分解的第 种格式,命令如下: [Q,R,E]=qr(A); x=E*(R\(Q\b))
(1) LU分解 分解 矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵 矩阵的 分解就是将一个矩阵表示为一个交换下三角矩阵 和一个上三角矩阵的乘积形式.线性代数中已经证明,只 和一个上三角矩阵的乘积形式.线性代数中已经证明, 要方阵A是非奇异的 是非奇异的, 分解总是可以进行的 分解总是可以进行的. 要方阵 是非奇异的,LU分解总是可以进行的. MATLAB提供的 函数用于对矩阵进行 分解,其调用格 提供的lu函数用于对矩阵进行 分解, 提供的 函数用于对矩阵进行LU分解 式为: 式为: [L,U]=lu(X):产生一个上三角阵 和一个变换形式的下三角 :产生一个上三角阵U和一个变换形式的下三角 行交换), 阵L(行交换 ,使之满足 行交换 使之满足X=LU.注意,这里的矩阵 必须 .注意,这里的矩阵X必须 是方阵. 是方阵. [L,U,P]=lu(X):产生一个上三角阵 和一个下三角阵 以及 和一个下三角阵L以及 :产生一个上三角阵U和一个下三角阵 一个置换矩阵P,使之满足PX=LU.当然矩阵 同样必须 一个置换矩阵 ,使之满足 .当然矩阵X同样必须 是方阵. 是方阵. 实现LU分解后 线性方程组Ax=b的解 分解后, 的解x=U\(L\b)或 实现 分解后,线性方程组 的解 或 x=U\(L\Pb),这样可以大大提高运算速度. ,这样可以大大提高运算速度.
分解求解例7-1中的线性方程组 例7-2 用LU分解求解例 中的线性方程组. 分解求解例 中的线性方程组. 命令如下: 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; [L,U]=lu(A); x=U\(L\b) 或采用LU分解的第 种格式,命令如下: 分解的第2种格式 或采用 分解的第 种格式,命令如下: [L,U ,P]=lu(A); x=U\(L\P*b)
用直接解法求解下列线性方程组. 例7-1 用直接解法求解下列线性方程组. 命令如下: 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; x=A\b
2.利用矩阵的分解求解线性方程组 . 矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成 若干个矩阵的乘积.常见的矩阵分解有LU分解,QR分解, 若干个矩阵的乘积.常见的矩阵分解有 分解, 分解, 分解 分解 Cholesky分解,以及 分解, 分解, 分解, 分解 以及Schur分解,Hessenberg分解,奇异 分解 分解 分解等. 分解等.
7.1.2 迭代解法 迭代解法非常适合求解大型系数矩阵的方程组. 迭代解法非常适合求解大型系数矩阵的方程组.在数值分析 迭代法, 中,迭代解法主要包括 Jacobi迭代法,Gauss-Serdel迭代 迭代法 迭代 超松弛迭代法和两步迭代法. 法,超松弛迭代法和两步迭代法. 1.Jacobi迭代法 . 迭代法 对于线性方程组Ax=b,如果 为非奇异方阵,即 为非奇异方阵, 对于线性方程组 ,如果A为非奇异方阵 aii≠0(i=1,2,…,n),则可将 分解为 分解为A=D-L-U,其中 为对 ,则可将A分解为 ,其中D为对 角阵,其元素为A的对角元素 的对角元素, 与 为 的下三角阵和上 角阵,其元素为 的对角元素,L与U为A的下三角阵和上 三角阵,于是Ax=b化为: 化为: 三角阵,于是 化为 x=D-1(L+U)x+D-1b 与之对应的迭代公式为: 与之对应的迭代公式为: x(k+1)=D-1(L+U)x(k)+D-1b 这就是Jacobi迭代公式.如果序列 迭代公式. 收敛于x, 必 这就是 迭代公式 如果序列{x(k+1)}收敛于 ,则x必 收敛于 是方程Ax=b的解. 的解. 是方程 的解
2.Gauss-Serdel迭代法 . 迭代法 迭代过程中, 在Jacobi迭代过程中,计算时,已经得到,不必再用,即原 迭代过程中 计算时,已经得到,不必再用, 来的迭代公式Dx(k+1)=(L+U)x(k)+b可以改进为 来的迭代公式 可以改进为 Dx(k+1)=Lx(k+1)+Ux(k)+b,于是得到: ,于是得到: x(k+1)=(D-L)-1Ux(k)+(D-L)-1b 该式即为Gauss-Serdel迭代公式.和Jacobi迭代相比, 迭代公式. 迭代相比, 该式即为 迭代公式 迭代相比 Gauss-Serdel迭代用新分量代替旧分量,精度会高些. 迭代用新分量代替旧分量, 迭代用新分量代替旧分量 精度会高些.
迭代法求解下列线性方程组. 例7-5 用Jacobi迭代法求解下列线性方程组.设迭代初值为 , 迭代法求解下列线性方程组 设迭代初值为0, 迭代精度为10 迭代精度为 -6. 在命令中调用函数文件Jacobi.m,命令如下: 在命令中调用函数文件 ,命令如下: A=[10,-1,0;-1,10,-2;0,-2,10]; b=[9,7,6]'; [x,n]=jacobi(A,b,[0,0,0]',1.0e-6)
(2) QR分解 分解 对矩阵X进行 分解,就是把 分解为一个正交矩阵 和一 进行QR分解 就是把X分解为一个正交矩阵 分解, 分解为一个正交矩阵Q和一 对矩阵 进行 个上三角矩阵R的乘积形式 的乘积形式. 分解只能对方阵进行 分解只能对方阵进行. 个上三角矩阵 的乘积形式.QR分解只能对方阵进行. MATLAB的函数 可用于对矩阵进行 的函数qr可用于对矩阵进行 分解 分解, 的函数 可用于对矩阵进行QR分解,其调用格 式为: 式为: [Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵 [Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R, 和一个上三角矩阵R, 使之满足X=QR. 使之满足 . [Q,R,E]=qr(X):产生一个一个正交矩阵 ,一个上三角矩阵 :产生一个一个正交矩阵Q, R以及一个置换矩阵 ,使之满足 以及一个置换矩阵E,使之满足XE=QR. 以及一个置换矩阵 . 实现QR分解后,线性方程组 分解后, 的解x=R\(Q\b)或 实现 分解后 线性方程组Ax=b的解 的解 或 x=E(R\(Q\b)). .
Jacobi迭代法的 迭代法的MATLAB函数文件 函数文件Jacobi.m如下: 如下: 迭代法的 函数文件 如下 function [y,n]=jacobi(A,b,x0,eps) if nargin==3 eps=1.0e-6; elseif nargin<3 error return end D=diag(diag(A)); %求A的对角矩阵 求 的对角矩阵 L=-tril(A,-1); %求A的下三角阵 求 的下三角阵 U=-triu(A,1); %求A的上三角阵 求 的上三角阵 B=D\(L+U); f=D\b; y=B*x0+f; n=1; %迭代次数 迭代次数 while norm(y-x0)>=eps x0=y; y=B*x0+f; n=n+1; end