第四章 数值计算

合集下载

数值分析-第4章 数值积分和数值微分

数值分析-第4章  数值积分和数值微分

A0+A1=2 A0x0+A1x1=0 A0x02+A1x12=2/3 A0x03+A1x13=0
A0 A1 1 解得: 1 x 0 x1 3
求积公式为
1 1 1 f ( x)dx f ( ) f ( ) 3 3
x f(x)
数值分析
1 4
2 4.5
3 6
4 8
5 8.5
1
一、数值积分的基本概念 求积节点 数值积分定义如下:是离散点上的函数值的线性组合
I [ f ] f ( x)dx I n [ f ] Ai f ( xi )
b a i 0 n
称为数值积分公式
称为求积系数,与f (x)无关,与积分区间和求积节点有关
b a
Rn ( x) dx
定理:形如 Ak f ( xk ) 的求积公式至少有 n 次代数精度
A 该公式为插值型(即: k a l k ( x)dx )
数值分析
b
5
例1 试确定参数A0,A1,A2,使求积公式
1 f ( x)dx A0 f (1) A1 f (0) A2 f (1)
证明 因为Simpson公式对不高于三次的多项式精确成立。即

b
a
p 2 ( x)dx
ba ab [ p 2 (a) 4 p 2 ( ) p 2 (b)] 6 2
构造三次多项式H3(x),使满足 H3(a)=(a) ,H3(b)=(b),
H 3 (( a b) / 2) f (( a b) / 2), H 3 (( a b) / 2) f (( a b) / 2), 这时插值误差为
1

matlab入门经典教程--第四章数值计算

matlab入门经典教程--第四章数值计算

m a t l a b入门经典教程--第四章数值计算-CAL-FENGHAI.-(YICAI)-Company One1第四章数值计算4.1引言本章将花较大的篇幅讨论若干常见数值计算问题:线性分析、一元和多元函数分析、微积分、数据分析、以及常微分方程(初值和边值问题)求解等。

但与一般数值计算教科书不同,本章的讨论重点是:如何利用现有的世界顶级数值计算资源MATLAB。

至于数学描述,本章将遵循“最低限度自封闭”的原则处理,以最简明的方式阐述理论数学、数值数学和MATLAB计算指令之间的内在联系及区别。

对于那些熟悉其他高级语言(如FORTRAN,Pascal,C++)的读者来说,通过本章,MATLAB卓越的数组处理能力、浩瀚而灵活的M函数指令、丰富而友善的图形显示指令将使他们体验到解题视野的豁然开朗,感受到摆脱烦琐编程后的眉眼舒展。

对于那些经过大学基本数学教程的读者来说,通过本章,MATLAB精良完善的计算指令,自然易读的程序将使他们感悟“教程”数学的基础地位和局限性,看到从“理想化”简单算例通向科学研究和工程设计实际问题的一条途径。

对于那些熟悉MATLAB基本指令的读者来说,通过本章,围绕基本数值问题展开的内容将使他们体会到各别指令的运用场合和内在关系,获得综合运用不同指令解决具体问题的思路和借鉴。

由于MATLAB的基本运算单元是数组,所以本章内容将从矩阵分析、线性代数的数值计算开始。

然后再介绍函数零点、极值的求取,数值微积分,数理统计和分析,拟合和插值,Fourier分析,和一般常微分方程初值、边值问题。

本章的最后讨论稀疏矩阵的处理,因为这只有在大型问题中,才须特别处理。

从总体上讲,本章各节之间没有依从关系,即读者没有必要从头到尾系统阅读本章内容。

读者完全可以根据需要阅读有关节次。

除特别说明外,每节中的例题指令是独立完整的,因此读者可以很容易地在自己机器上实践。

MATLAB从版升级到版后,本章内容的变化如下:MATLAB从版起,其矩阵和特征值计算指令不再以LINPACK和EISPACK库为基础,而建筑在计算速度更快、运行更可靠的LAPACK和ARPACK程序库的新基础上。

数值计算方法第2版 第4章 插值法

数值计算方法第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)本身。

数值计算方法第四章第四节 三次样条

数值计算方法第四章第四节 三次样条

yi f (xi )(i 0,1,...,n) 以及边界点上的一阶导数值f '(x0 ), f '(xn). 求一个三次样条函数S( x)使之满足
S(xi ) yi
(i 1,2,...,n 1)
S(xj ) yj , S'(xj ) f '(xj ) ( j 0, n) 8-
三弯矩插值法的基本思想 ( 1)yi'' f''(xi )未知,但可设S''(xi)Mi,
上的一个分划 ,:ax0x1 xn1xnb 给定节点上函数值f(xi),i0,1,2, ,n。 若函数S(x)满足 (1)S(xi ) yi i 0,1, n; (2)S(x)Ck1[a,b],即在整体上是k-1阶连续的; (3)S(x)在每一个小区间[xi, xi1]是k次多项式
(i 0,1, n1) 则称S(x)为k次样条函数。x1,..., xn1称为内节点, x0, xn称为外节点.
2-
样条是绘图员用于描绘光滑曲线的一种机 械器件,它是一些易弯曲材料制成的窄条或棒条. 或接近图 表上确定的描绘点.“样条函数”这个术语意在 点出这种函数的图象与机械样条画出的曲线很 象.
3-
一.k次样条函数的定义
定义 若函数yf(x)在 [a,b]上连续,对于区间[a,b]
( 4 ) 再 由 三 弯 矩 方 程 边 界 条 件 ( 补 充 两 个 方 程 ) 封 闭 的 方 程 组 , 可 求 出 M i,(i 0 ,1 ,2 ,...,n )9-
1、建立三弯矩方程 在[xi,xi1]上,三次样条函数可表示为 Si(x)ai(xxi )3 bi(xxi )2 ci(xxi )di (i 0, 1,,n1)

数值计算方法第四章插值1

数值计算方法第四章插值1

代数插值
代数插值
当f(x)是次数不超过n的多项式时,给定n+1个节点,其n次插值多项式就是f(x)本身.
代数插值几何意义
拉格朗日插值 逐次线性插值 牛顿插值 等距节点插值 反插值 埃尔米特插值 分段插值法 三次样条插值
拉格朗日插值 线性插值
格朗日插值 抛物线插值
基函数之和为1.
拉格朗日插值 n次插值
当插值点x∈(a,b)时称为内插,否则称为外插。
内插的精度高于外插的精度。
拉格朗日插值余项
余项 设函数f(x)在包含节点x0 , x1 ,…, xn的区间[a,b]上有n+1阶导数,则
拉格朗日插值
活动14
写出3次拉格朗日插值多项式及余项
拉格朗日插值
拉格朗日插值
作业5
已知函数表
应用拉格朗日插值公式计算f(1.300)的近似值.
数值计算方法
苏 强
江苏师范大学连云港校区
数学与信息工程学院 E-mail: 412707233@
数值计算方法 第四章 插值与曲线拟合
没有明显的解析表达式
使用不便的解析表达式
简单函数代替
插值问题
插值问题
代数插值 插值函数
被插值函数 插值节点
插值区间
三角多项式插值 有理函数插值
代数插值
抛物线插值
三点插值
拉格朗日插值 抛物线插值
抛物线插值
三点插值
拉格朗日插值 抛物线插值
拉格朗日插值 n次插值
称为关于节点
的n次插值基函数.
拉格朗日插值n次插值
基函数的个数等于节点数.
n+1个节点的基函数是n次代数多项式 基函数和每一个节点都有关。节点确定,基函数就唯一的确定。 基函数和被插值函数无关

第四章热传导热问题的数值解法

第四章热传导热问题的数值解法
数值求解的高斯-赛德尔(Gauss- Seidel)迭代法
4-1 导热问题数值求解的基本思想
4.1.1 数值求解的基本思想(见P162): 把原来在时间、空间坐标系中连续的
物理量的场,用有限个离散点上的值的集 合来代替,通过求解按一定方法建立起来 的关于这些值的代数方程(组),来获得 离散点上被求物理量的值(其集合称为该 物理量的数值解)
t2(℃)
t3(℃)
0
0
5.675
3.769
4.545 (-1.13) 4.996 (1.227)
4.029 (-0.516) 5.061 (0.065)
3.979 (-0.05) 5.013 (-0.048)
3.994 (0.015) 5.000 (-0.013)
4.000 (0.006) 5.000 (0.000)
y
t4
t0

xy
0
x
△x=△y,且无内热源时,有
t1 t2 t3 t4 4t0 0
即:
t0
1 4
(t1
t2
t3
t4 )
一维问题 推广
三维问题
t0
1 2
(t1
t2
)
t0
1 6
(t1
t2
t3
t4
t5
t6)
一维问题 : t1 t2 2t0 0 二维问题 : t1 t2 t3 t4 4t0 0 三维问题 : t1 t2 t3 t4 t5 t6 6t0 0
流入控制体的总热流量+控制体内热源生成热 = 流出控制体的总热流量+控制体内能的增量 注意:上面的公式对内部节点和边界节点均适用
如图, 以元体(m,n)为研究对象
(1) 元体(m,n)的能量守恒方程为:

数值计算04-插值与拟合

数值计算04-插值与拟合

二维插值的定义
第一种(网格节点):
y
O
x
已知 mn个节点 其中 互不相同,不妨设
构造一个二元函数
通过全部已知节点,即
再用
计算插值,即
第二种(散乱节点):
y



0
x
已知n个节点
其中 互不相同,
构造一个二元函数
通过全部已知节点,即
再用
计算插值,即
最邻近插值
y
( x1 , y2 ) ( x2 , y2 )
( x1 , y1 ) ( x2 , y1 )

x
O
注意:最邻近插值一般不连续。具有连续性的最简单 的插值是分片线性插值。
分片线性插值
速度最快,但平滑性差
linear
占有的内存较邻近点插值方法多,运算时间 也稍长,与邻近点插值不同,其结果是连续 的,但在顶点处的斜率会改变 运算时间长,但内存的占有较立方插值方法 要少,三次样条插值的平滑性很好,但如果 输入的数据不一致或数据点过近,可能出现 很差的插值结果 需要较多的内存和运算时间,平滑性很好 二维插值函数独有。插值点处的值和该点值 的导数都连续
x=0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 y=0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
海拔高度数据为: z=89 90 87 85 92 91 96 93 90 87 82 92 96 98 99 95 91 89 86 84 82 84 96 98 95 92 90 88 85 84 83 81 85 80 81 82 89 95 96 93 92 89 86 86 82 85 87 98 99 96 97 88 85 82 83 82 85 89 94 95 93 92 91 86 84 88 88 92 93 94 95 89 87 86 83 81 92 92 96 97 98 96 93 95 84 82 81 84 85 85 81 82 80 80 81 85 90 93 95 84 86 81 98 99 98 97 96 95 84 87 80 81 85 82 83 84 87 90 95 86 88 80 82 81 84 85 86 83 82 81 80 82 87 88 89 98 99 97 96 98 94 92 87

第四章_MATLAB的数值计算功能

第四章_MATLAB的数值计算功能

第四章MATLAB 的数值计算功能Chapter 4: Numerical computation of MATLAB数值计算是MATLAB最基本、最重要的功能,是MATLAB最具代表性的特点。

MATLAB在数值计算过程中以数组和矩阵为基础。

数组是MATLAB运算中的重要数据组织形式。

前面章节对数组、矩阵的特征及其创建与基本运算规则等相关知识已作了较详尽的介绍,本章重点介绍常用的数值计算方法。

一、多项式(Polynomial)`多项式在众多学科的计算中具有重要的作用,许多方程和定理都是多项式的形式。

MATLAB提供了标准多项式运算的函数,如多项式的求根、求值和微分,还提供了一些用于更高级运算的函数,如曲线拟合和多项式展开等。

1.多项式的表达与创建(Expression and Creating of polynomial)(1) 多项式的表达(expression of polynomial)_Matlab用行矢量表达多项式系数(Coefficient)和根,系数矢量中各元素按变量的降幂顺序排列,如多项式为:P(x)=a0x n+a1x n-1+a2x n-2…a n-1x+a n则其系数矢量(V ector of coefficient)为:P=[a0 a1… a n-1 a n]如将根矢量(V ector of root)表示为:ar=[ ar1 ar2… ar n]则根矢量与系数矢量之间关系为:(x-ar1)(x- ar2) … (x- ar n)= a0x n+a1x n-1+a2x n-2…a n-1x+a n(2)多项式的创建(polynomial creating)a,系数矢量的直接输入法利用poly2sym函数直接输入多项式的系数矢量,就可方便的建立符号形式的多项式。

例1:创建给定的多项式x3-4x2+3x+2poly2sym([1 -4 3 2])ans =x^3-4*x^2+3*x+2也可以用poly2str.求一个方阵对应的符号形式的多项式。

数值计算方法第4章4-06反插值

数值计算方法第4章4-06反插值

(0 1)(0 4)
(4 1)(4 0)
x 3 ,代入
p(3) (3 0)(3 4) 0 (3 1)(3 4) 2 (3 1)(3 0) 10 8
(1 0)(1 4)
(0 1)(0 4)
(4 1)(4 0)
(2)由于 f (x) 是单调连续函数,用反插值,将函数表转换成反
函数表
y f (x)
-1
0
2
10
1
x f 1(y) - 3
-1
0
4
?
已知连续函数 f ( x) 在x 1,0,2,3 的值分别是-4,-1,0,3,用牛
顿插值求(1) f (1.5) 的近似值。(2) f ( x) 0.5 时,x 的近似值。
解 (1)根据已知条件列表
x
-3 -1
0
4
3
f (x) - 1
0
2
10

取靠近 3 的三个节点- 1,0,4,作拉格朗日二次插值
p(x) (x 0)( x 4) 0 (x 1)( x 4) 2 (x 1)( x 0) 10 将
(1 0)(1 4)
y f (x) 则 x f 1 ( y) ,有函数表。
y
-4
-1
0
3
0.5
x
-1
0
2
3
?
根据已知 x f 1 ( y) 的函数值,构造差商表。
y
x
-4
-1
-1
0
0
2
3
3
牛顿插值多项式
一阶
1/ 3 2
1/ 3

数值计算方法 复化求积公式 - 复化求积公式

数值计算方法 复化求积公式 - 复化求积公式

nn
(t
0 j0
j )dt
jk

特点: 插值型的、节点等距
特 斯
存在问题: 节点较多时,高次插值的不稳定导致高阶N-

K

解决办法公:式的复不化稳求定积。
复化求积法:区间分成若干子区间,在每个子区间上用低 阶求积公式。
N=1时的牛-柯公式
1
梯 形 公 式 T b a f a f b
牛 顿 -
xk1 xk
f
( x )dx
h[ 2
f
(xk )
f
(
xk
1
)]
h3 12
f ''(k )
k [ xk , xk1]
求和可得
I
b
n1
f (x)dx
xk1 f ( x )dx
a
k0 xk
h 2
n1
[
k0
f
(
xk
)
f ( xk1)]
Rn ( f )
2

Tn
h 2
n1 k0
[
f
(
xk
)
f ( xk1)]
b
lim
n
T
n
a
f ( x)dx,
复 化
事实上
h n1
Tn
2
[
k0
f
(
xk
)
Hale Waihona Puke f ( xk1 )]梯 形 公
1 b a n1
ba n
2 n
f (xk )
k0
n
f ( xk ).
k 1
式 的 收
lim

第四章MATLAB的数值计算功能

第四章MATLAB的数值计算功能

第四章MATLAB的数值计算功能MATLAB是一种非常强大的数值计算环境,具有广泛的数值计算功能。

在本文中,我们将讨论MATLAB的一些常见数值计算功能,包括数值求解、数值积分和数值优化等。

首先,MATLAB可以进行数值求解。

数值求解是指通过数值方法来找到方程的根或函数的极值。

MATLAB提供了多种数值求解方法,包括牛顿法、割线法、二分法等。

用户可以根据具体的问题选择适当的数值求解方法,并使用MATLAB的相关函数进行求解。

例如,可以使用fzero函数来求解非线性方程的根,使用fsolve函数来求解非线性方程组的根。

其次,MATLAB还可以进行数值积分。

数值积分是指通过数值方法来计算函数的定积分。

MATLAB提供了多种数值积分方法,包括梯形法则、辛普森法则、高斯积分法等。

用户可以使用MATLAB的相关函数进行数值积分计算。

例如,可以使用trapz函数来进行梯形法则积分计算,使用quad函数来进行高斯积分法的计算。

此外,MATLAB还具有数值优化功能。

数值优化是指通过数值方法来寻找函数的最大值或最小值。

MATLAB提供了多种数值优化方法,包括梯度法、牛顿法、遗传算法等。

用户可以使用MATLAB的相关函数进行数值优化计算。

例如,可以使用fminbnd函数来进行单变量函数的最小值优化,使用fmincon函数来进行多变量函数的约束优化。

除了以上功能,MATLAB还具有其他一些重要的数值计算功能。

例如,MATLAB提供了矩阵计算、代数运算、数值微分、常微分方程求解等功能。

用户可以使用MATLAB的矩阵运算符进行矩阵计算,使用MATLAB的代数运算函数进行代数运算,使用MATLAB的diff函数进行数值微分计算,使用MATLAB的ode45函数进行常微分方程数值求解。

总而言之,MATLAB是一种功能强大的数值计算环境,具有广泛的数值计算功能。

无论是数值求解、数值积分还是数值优化等,MATLAB都提供了多种数值计算方法和相关函数,方便用户进行数值计算工作。

热流问题数值计算Chapter 4

热流问题数值计算Chapter 4

主讲陶文铨西安交通大学能源与动力工程学院热流中心CFD-NHT-EHT CENTER 2007年11月27日, 西安第四章势流及管道内充分发展流动的数值计算热流问题的数值计算4.1 势流的控制方程4.1.1势流的基本概念4.1.3势流的势函数方程及边界条件2. 流函数方程3. 流函数方程的边界条件4.1.2二维不可压缩无粘流动的控制方程1. 涡量守恒方程4.1.1 势流的基本概念2.势流(potential flow )理想、不可压缩的无旋流动(涡量为零)称为势流,有重要工程应用,如机翼绕流。

不可压缩的无粘流动由Euler 方程与连续性方程4.1.2二维不可压缩无粘流动的控制方程所描写,对二维问题,有4.1.3 势流的流函数方程及边界条件u v ∂∂=−涡量守恒方程u ωω∂+)0v ω=将流函数的定义代入涡量定义式:22u y y ψω∂=−∂)进出口条件结合具体问题介绍。

4.2.1 物理问题及其数学描写4.2.1 物理问题及其数学描写设有位于如图所示二维平板通道流场内的一圆柱利用对称性,取1/4区域即可。

没有流体横穿,流函数取为零;进口a-e:对称线a-b :按定义u y ψ∂=∂y流函数边界条件分析:4.2.2 网格生成极具挑战性矩形网格,特殊点补充方程3.组合网格(composite grid)••4.非结构化网格(unstructured grid)••4.2.3 数值方法所离散求解的是一个稳态、无内热源、常物性的导热方程:•如果只采用矩形网格,则需对与网格线相交的圆柱周界上的点,构造与其相邻内点的特殊离散方程。

••对(i,j)构造其离散方程,其与邻点1,2距离分别为ΔΔ。

,a xb y以构造i,j的∂Taylor展开=(a)T T对所有与圆柱边界相邻的内点均重构类似的离散方程,即获得封闭的方程组,再用ADI求解代数方程。

4.2.4 数值结果的分析讨论1. 流函数分布2. 速度分布与压力根据各节点的流函数之值,按定义用有限差分:势流的多个圆柱绕得出:实际的粘性流动当Re数不十分小时,在圆柱后半必有流动分离产生:绕流管排则如:顺排(Aligned tube row)叉排(Staggered tube row)通过5,6两章的学习即可进行这样的模拟。

数值计算方法 代数精度 - 代数精度

数值计算方法 代数精度 - 代数精度

A1x1n
An xnn
bn1 an1 n1
这是关于 Ak的线性方程组,其系数矩阵
1
x0
x02
x0n
1 1
x1
xn
x12
xn2
x1n xnn
是范得蒙德矩阵,当 xk (k 0,1,, n) 互异时非奇异,故 Ak 有唯一解。
典型例题
例2
试确定一个至少具有2次代数精度的公式
f
(1)
20
f
(3)
结构分析
2 .如 果 参 数 x k 和 Ak均 未 知 , 则 方 程 组 为 非线 性 的
A0 A1 An b a
A0 x0 A0 x0n
A1x1
An xn
b2
2
a2
A1x1n
An xnn
bn1 an1 n1
非线性方程组求解很困难
定理
n+1个节点的求积公式
1
2
左右相等
典型例题
当 f ( x )分 别 为 常 数x 2或 x 3时 ,
2 f ( x) x2 1 f ( x )dx 1 [ f (1) 2 f (0) f (1)] f ( x )x2 1
3
1
2
1 f ( x) x3 1 f ( x )dx 1 [ f (1) 2 f (0) f (1)] f ( x )x3 0
n
Ak
x
m k
k0
1 m 1
bm1 a m1
b x mdx
a
构 造 求 积 公 式, 原 则 上 是 确 定 参 数x k和 Ak的 代 数 问 题.
结构分析
A0 A1 An b a
1.如

数值计算方法第04章矩阵特征值与特征向量的计算

数值计算方法第04章矩阵特征值与特征向量的计算
3 2 7 A1 3 4 1 2 1 3
• 计算出k=2时的x和y。 • (保留四位有效数字)
22
二、幂法的加速
因为幂法的收敛速度是线性的,而且依赖 于比值 2 /1 ,当比值接近于1时,幂法收敛 很慢。幂法加速有多种,介绍两种。
23
幂法的加速—原点移位法 应用幂法计算矩阵A的主特征值的收敛速度主要
26
4 14 0 , 2.9, 用原点移位法求矩 例:A 5 13 0 0 1 0 2.8 -4 阵A的按模最大的特征值,要求误差不超过10 。 解:取x (0) (1,1,1)T , 按x ( k 1) ( A pI )x (k )进行计算 0 6.9 14 A 0 I 5 10.1 0 0 0.1 1 (3.1000568, 2.214326, 0.9687661) 4 3.1000568
在一定条件下, 当k充分大时: 相应的特征向量为:
x 1 x
x
( k 1)
( k 1 ) i (k ) i
10
幂法的理论依据 对任意向量x(0), 有 x ( 0 ) i ui , 设1不为零.
i 1 n
x
( k 1 )
Ax
n i 1
(k )
A
k 1
x
(0) n
1 Ak 1 i ui i k i ui i 1

k 1 1
2 k 1 n k 1 1u1 ( ) 2 u2 ( ) n un 1 1
k 1 1 1u1
故 1 xi( k 1) xi( k ) x(k+1)为1的特征向量的近似向量(除一个因子外).

《4.2 数值计算》教案

《4.2 数值计算》教案

数值计算一、基本说明1.面向学生:高一年级2.课课名称:《数值计算》(高中信息技术教科版必修一数据与计算第四章第二节)3.教学时间:45分钟4.课时:1二、教学目标1.通过绘制函数图像,感受数据的图形化表示。

了解Python利用numpy和matplotlib两个模块绘制图像的基本方法。

2.通过求解斐波那契数列,了解解析式或迭代算法。

能够设计算法进行数值计算,解决问题。

三、教学重难点(一)教学重点能够利用numpy和matplotlib两个模块绘制函数图像。

(二)教学难点理解迭代法的含义,能够学以致用解决生活问题。

四、教学过程【课前预习】(5min)通过课前预习并设置前置性作业,检查学生学情并了解教学重难点。

课堂题目:【课题引入】(3min)抛出问题:数学课上如何用描点法绘制sin(x)函数图像?学生回答,教师指出这种方法的缺点:取点比较多,如果想要画出精度高的图像需要很长时间。

==》如何借助计算机绘制数学函数曲线?【新知讲授】(7min)1.绘制数学函数曲线✧用Excel表格绘制正弦曲线教师讲解如何用excle绘制正弦函数曲线。

缺点:图像的关键点太少,精度不够,图像不光滑。

✧用python绘制正弦曲线【活动一设计】(5min)完善代码,尝试绘出sin(x)、sin(-x)、sin(2*x)/2import matplotlib.pyplot as pltimport numpy as ①#加载numpy模块取名为npx = np.arange(0,②, 0.01)y1 = np.sin(x)y2 = np.③y3 = np.sin(2*x)/2plt.plot(x, y1)plt.plot(x, y2)plt.plot(④)plt.title('sin(x)')plt.xlabel('X')plt.ylabel('Y')plt.show()input("运行完毕,请按回车键退出...")【新知讲授】(5min)2.求解斐波那契数列通过一段视频引入什么是斐波那契数列,教师演示如何用wps表格求出一对兔子10年内能繁殖对少对。

现代数值计算方法第四章

现代数值计算方法第四章

现代数值计算方法第四章第四章:数值微分和数值积分引言:在许多实际问题中,我们需要计算函数的导数和积分。

然而,很多函数并没有简单的解析形式,所以我们需要使用数值方法来近似计算它们的导数和积分。

在本章中,我们将介绍一些常见的数值微分和数值积分方法,包括差分法、梯形法和辛普森法等。

一、数值微分方法1.差分法差分法是一种简单而常用的数值微分方法。

其基本思想是通过计算函数在两个相邻点上的差值来近似计算函数的导数。

差分法的一阶准确度可以通过使用中心差分来提高。

2.中心差分法中心差分法是一种提高差分法精度的常见方法。

它使用了函数在两个相邻点的斜率来近似计算函数在这两个点的导数。

由于中心差分法能够利用更多的信息,因此它的精度比一阶差分法更高。

3.高阶差分法在一些需要更高精度的情况下,可以使用高阶差分法进行数值微分。

高阶差分法可以使用更多的点来进行近似计算,从而提高精度。

二、数值积分方法1.矩形法矩形法是一种简单而直观的数值积分方法。

其基本思想是将函数在积分区间上近似为若干个矩形,并求得这些矩形的面积之和。

矩形法的准确度随着矩形数量的增加而提高。

2.梯形法梯形法是一种常见的数值积分方法。

它通过将函数在积分区间上近似为若干个梯形,并求得这些梯形的面积之和来进行数值积分。

梯形法的准确度要比矩形法高。

3.辛普森法辛普森法是一种较高精度的数值积分方法。

它通过将函数在积分区间上近似为若干个二次曲线,并求得这些二次曲线的面积之和来进行数值积分。

辛普森法的准确度要比梯形法高。

三、误差分析数值微分和数值积分都会引入一定程度的误差。

因此,对于得到的数值结果,我们需要进行误差分析,以确定近似结果的可靠性。

误差分析的常见方法包括截断误差和舍入误差等。

结论:数值微分和数值积分是求解实际问题中常用的方法。

在本章中,我们介绍了差分法、中心差分法、高阶差分法以及矩形法、梯形法和辛普森法等常见的数值微分和数值积分方法。

通过这些方法,我们可以近似计算函数的导数和积分,以便解决实际问题。

数值计算_第4章 解线性方程组的迭代法

数值计算_第4章  解线性方程组的迭代法
取初始值:
如果用高斯-赛德尔迭代法 迭代72次得:
用SOR迭代法 ,只须迭代25次即得:
逐次超松弛迭代算法
下列算法假定迭代矩阵收敛,否则要在WHILE循环中增加判断条件。
1.定义和输入系数矩阵 与常数项向量 的元素,输入松弛因子 的值。
2.FOR i:=1,2,…,n
//假定 ,形成常数项向量
FOR
当方程组的系数矩阵 具有某些性质时,可直接判定由它生成的雅可比迭代矩阵是收敛的。
定理4.3若方程组 的系数矩阵 ,满足下列条件之一,则其雅可比迭代法是收敛的。
(1) 为行对角占优阵,即
(2) 为列对角占优阵,即
证明:(1)雅可比迭代矩阵 其中
(2) 为列对角优阵,故 为行对角占优阵,由系数矩阵 构造的迭代矩阵 为行对角占优阵,则有
通常,把 的迭代称为亚松弛迭代,把 的迭代称为高斯-塞德尔迭代,而把 的迭代称为松弛迭代。
4.4
在线性代数中逆矩阵是按其伴随矩阵定义的,若 则方阵 可逆,且 ,其中 为 的伴随矩阵。要计算 个 阶的列式才能得到一个伴随矩阵,在数值计算中因其计算工作量大而不被采用。通常对 做行的初等的效换,在将 化成 的过程中得到 。在数值计算中,这仍然是一种行之有效的方法。
事实上,在计算 前,已经得到 的值,不妨将已算出的分量直接代入迭代式中,及时使用最新计算出的分量值。因此 的计算公式可改为:
即用向量 计算出 的值,用向量 计算出 的值 ,用向量 计算出 的值,这种迭代格式称为高斯—塞德尔迭代。
对于方程组AX=y,如果由它构造高斯-塞德尔迭代和雅可比迭代都收敛,那么,多数情况下高斯—塞德尔迭代比雅可比迭代的收敛效果要好,但是情况并非总是如此。

得到
而 ,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《MATLAB仿真与应用》
实验报告
第四章数值计算
一、实验目的
1、熟悉根据已知数据进行回归法曲线拟合
2、熟悉根据已知数据进行多项式曲线拟合
3、熟悉根据已知数据利用指定方法进行数据插值(临近插值、线性插值、立方插值、三次样条插值)
4、熟悉脚本文件和函数文件的概念,各自的特点,以及二者的区别
5、熟悉主函数和私有函数的特点
6、了解Matlab编程的特点
二、实验内容
1、多项式拟合 x已知自变量的取值 y相应的函数值 n多项式的系数
p=polyfit(x,y,n)
2、多项式计算求值函数 p=polyval(p,x2)
3、产生图例 legend(‘fitting’,’origin’)
4、多项式插值 yi=interp1(x,y,xi,method)
5、外插运算 yi=interp1(x,y,xi,method,’extrap’)
6、二维插值 y=interp2(x,y,z,xi,yi,method)
7、临近插值 ynearest=interp1(time,temp,xi,’nearest’)
8、线性插值 ylinear=interpre1(time,t emp,xi,’linear’)
9、立方插值 ycublic=interp1(time,temp,xi,’cublic’)
10、三次样条插值 yspline=interp1(time,temp,xi,’spline’)
11、延时函数 pause
12、比较 function compare_interp()
13、一个典型多元函数 peaks
14、数组A、B共同产生网格[A,B]= meshgrid(A,B)
15、将多个图画到一个平面 subplot
16、绘制矩阵的等高线 contour
三、思考练习题
1、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]' y=[0.82 0.72 0.63 0.60 0.55 0.50]',我们可以简单地认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e^-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示
>> x=[0 .3 .8 1.1 1.6 2.3]';y=[0.82 0.72 0.63 0.60 0.55 0.50]';
>> X=[ones(size(x)) exp(-x)];
>> c=X\y
c =
0.4760
0.3413
>> T=(0:0.1:2.5)';Y=[ones(size(T)) exp(-T)]*c;
>> plot(T,Y,'-',x,y,'*')
2、通过测量得到一组数据
t 1 2 3 4 5 6 7 8 9 10
y 4.842 4.362 3.754 3.368 3.169 3.083 3.034 3.016 3.012 3.005 分别采用y1(t)=C1+C2e^-t和y2(t)=d1+d2te^-t进行拟合,并画出拟合曲线进行对比
t=(1:1:10)';y=[4.842 4.362 3.754 3.368 3.169 3.083 3.034 3.016 3.012 3.005]'; >> X1=[ones(size(t)) exp(-t)];
>> c=X1\y
c =
3.1621
5.1961
>> X2=[ones(size(t)) t.*exp(-t)];
>> d=X2\y
d =
3.0039
5.0046
T=(1:0.1:10)';Y1=[ones(size(T)) exp(-T)]*c;plot(T,Y1,'-',t,y,'o')
T=(1:0.1:10)';Y2=[ones(size(T)) T.*exp(-T)]*d;plot(T,Y2,'-',t,y,'o')
3、从某一个过程中通过测量得到:
t 0 0.2 0.4 0.6 0.8 1.0 2.0 5.0
y 1.0 1.51 1.88 2.13 2.29 2.40 2.60 -4.00 分别采用多项式拟合和指数函数进行拟合。

>> t=[0 .2 .4 .6 .8 1.0 2.0 5.0]';y=[1.0 1.51 1.88 2.13 2.29 2.40 2.60 -4.00]'; >> x=[ones(size(t)) t t.^2];
>> a=x\y;
>> T=(0:0.1:5.0)';Y=[ones(size(T)) T T.^2]*a;
>> plot(T,Y,'-',t,y,'O')
>> x=[ones(size(t)) exp(-t) t.*exp(-t)];
>> a=x\y;
>> T=(0:0.1:5.0)';Y=[ones(size(T)) exp(-T) T.*exp(-T)]*a;
>> plot(T,Y,'-',t,y,'O')
4、对应时间矢量t,测得一组矢量y
t 0 0.3 0.8 1.1 1.6 2.3
y 0.5 0.82 1.14 1.25 1.35 1.40
采用一个带有线性参数的指数函数进行拟合,y=a0+a1e^-t+a2te^-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。

>> t=[0 .3 .8 1.1 1.6 2.3]';y=[0.5 0.82 1.14 1.25 1.35 1.40]';
>> x=[ones(size(t)) exp(-t) t.*exp(-t)];a=x\y
1.3974
-0.8988
0.4097
>> T=(0:0.1:2.5)';X=[ones(size(T)) exp(-T) T.*exp(-T)]*a;
>> plot(T,X,'-',t,y,'o')
5、某钢材厂的产量从1990到2010年的产量如下表所示,请利用三次样条插值的方法1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。

>> t=1990:2:2010;y=[75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633 256.344]';interp1(t,y,1999,'spline')
139.2796
>> T=(1990:0.2:2010)';Y=interp1(t,y,T,'spline');plot(t,y,'*',T,Y,'-')
四、实践中遇到的问题及解决方法
1、混淆曲线拟合编程步骤
在进行实际操作中,无法对每一条指令的作用做到特别了解,并且经过反复的操作,并询问同学,掌握了曲线拟合的指令。

2、插值各种算法不理解内涵
插值种类很多,查阅网络资料例子,并询问同学,互相讨论,最终了解各种算法的意义与实际应用方式。

3、错误使用polyval
使用时输入了过多的参数
4、polyfit
使用该函数时,误将()打成[],报错:圆括号或方括号不对称或异常
4、M函数语句与算法
由于在前几章并未过多接触M文件,对于Matlab编程本身掌握甚少。

在例子中出现的多个语句例如meshigrid、surfc、figure(2)、,其中包括数据可视化的概念。

为了快速了解并掌握,进行了借鉴网络资料的步骤,通过对一些查阅到的例子进行理解与操作,使得自己在M文件、编程内容有了些许的掌握,但是想要熟练运用,应当更广泛学习并多加练习。

相关文档
最新文档