第4讲 MA与TLAB数值计算 .ppt
文本预览下载声明
第4讲 MATLAB的数值计算;4.3 矩阵分解与线性方程组求解
4.3.1 矩阵分解 (chol、lu)
4.3.2 线性方程组求解
4.4 多项式计算
多项式的表示、基本运算(加、减、乘、除、求根、求值与数组运算、求导)、特征多项式与矩阵运算
4.5 数据处理
数值插值、曲线拟合;4.6 数据统计与分析
最大和最小值、平均值和中值、求和与求积、累加和与累乘积、标准方差、元素排序
4.7 泛函指令
4.4.1 函数在Matlab中的表示
4.4.2函数的极值点
4.4.3 数值微积分
4.4.4 常微分方程的数值求解;4.1 特殊矩阵; ; ; ; ; ;4.2 矩阵分析; ; ; ; ; ; ;4.2.6 矩阵(方阵)的特征值与特征向量
特征值和特征向量是线性代数中非常重要的概念,在求解数学问题和在实际的工程应用中占有非常重要的地位。
MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种:
(1)E=eig(A) 求矩阵A的全部??征值,构成向量E。
(2)[V,D]=eig(A) 求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量,使AV=VD成立,如果V为非奇异,则有如下特征值分解:
A=VDV-1
(3)[V,D]=eig(A,nobalance) %当矩阵A中有与截断误差数量级相差不远的值时,该指令可能更精确。nobalance起误差调节作用。 ;例4.9 用3种不同的格式求A的特征值和特征向量。
命令如下:
A=[1,2,2;1,-1,1;4,-12,1];
E=eig(A)
[V,D]=eig(A)
[V,D]=eig(A,nobalance);4.3 矩阵分解与线性方程组求解;例 4.10
X=pascal(4) %产生4阶pascal矩阵
[R,p]=chol(X)
a=rand(4)
b=a+a %产生4阶实对称矩阵,但不一定正定
[r,p]=chol(b)
r*r; ;3、 利用矩阵的LU和cholesky分解求线性方程组的解
(1)LU分解:
LU分解又称Gauss消去分解,可把任意方阵分解为下三角矩阵和上三角矩阵的乘积。即A=LU,L为下三角阵,U为上三角阵。则:A*X=b 变成L*U*X=b,所以X=U\(L\b) 这样可以大大提高运算速度。(实际上,除法求线性方程组的解:X=A\b就是用LU分解实现的。)
;A=[4 2 -1;3 -1 2;11 3 0];
B=[2 10 8];
D=det(A)
[L,U]=lu(A)
X=U\(L\B)
说明 结果中的警告是由于系数行列式为零产生的。可以通过A*X验证其正确性。 ;(2)Cholesky分解
若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即: 其中R为上三角阵。
方程 A*X=b 变成 R’*R*X=b
所以 X=R\(R’\b)
; ;2、求线性方程组的唯一解或特解(第一类问题)
(1)利用矩阵除法求线性方程组的特解(或一个解)
方程:AX=b
解法:X=A\b
例4.13 求方程组 的解:; ; else %方程组不相容,给出最小二乘法解(超定)
disp(方程组的最小二乘法解是:);
x=A\b;
end
else %齐次方程组
if rank(A)=n %列满秩
x=zero(m,1) %0解
else %非0解
disp(方程组有无穷个解,基础解系为x);
x=null(A,r);
end
end
return
;2. 应用举例
例4.14 求线性方程组的解。
在MATLAB命令窗口,输入命令:
A=[2,2,-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2];
b=[4,6,12,6];
[x,y]=line_solution(A,b) %调用自定义函数
例4.15 求下列线性方程组的解。
在MATLAB命令窗口,输入命令:
A=[2,7,3,1;3,5,2,2;9,4,1,7];b=[6,4,2];
[x,y]=line_solution(A,b);4.4多项式计算
4.4.1 (一元)多项式的表示
在Matlab中,任意多项式都可以用
显示全部