文档详情

第4讲 MA与TLAB数值计算 .ppt

发布:2017-10-03约字共75页下载文档
文本预览下载声明
 第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中,任意多项式都可以用
显示全部
相似文档