数值计算基础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-⨯的根,需要迭代多少次?分析:证明方程在指定区间内有一个根,就是证明相应的函数在指定区间有至少一个零点。
- 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