矩阵分析实验报告
- 格式:doc
- 大小:329.50 KB
- 文档页数:6
matlab矩阵实验报告《MATLAB矩阵实验报告》摘要:本实验报告利用MATLAB软件进行了矩阵实验,通过对矩阵的运算、转置、逆矩阵、特征值等操作进行了分析和讨论。
实验结果表明,MATLAB在矩阵运算方面具有高效、准确的特点,能够满足工程和科学计算的需求。
引言:矩阵是线性代数中的重要概念,广泛应用于工程、物理、经济等领域。
MATLAB是一种强大的数学软件,能够对矩阵进行各种运算和分析。
本实验旨在利用MATLAB软件对矩阵进行实验,探讨其在矩阵运算中的应用和优势。
实验方法:1. 创建矩阵:利用MATLAB软件创建不同大小的矩阵,包括方阵和非方阵。
2. 矩阵运算:进行矩阵的加法、减法、乘法等运算,比较不同大小矩阵的计算效率和结果准确性。
3. 矩阵转置:对矩阵进行转置操作,观察转置后矩阵的性质和应用。
4. 逆矩阵:求解矩阵的逆矩阵,并分析逆矩阵在实际问题中的应用。
5. 特征值和特征向量:利用MATLAB软件求解矩阵的特征值和特征向量,分析其在物理、工程等领域的应用。
实验结果与讨论:通过实验发现,MATLAB软件在矩阵运算中具有高效、准确的特点。
对于大规模矩阵的运算,MATLAB能够快速进行计算并给出准确的结果。
在矩阵转置和逆矩阵求解方面,MATLAB也能够满足工程和科学计算的需求。
此外,通过求解矩阵的特征值和特征向量,可以得到矩阵的重要性质,为实际问题的分析和求解提供了有力支持。
结论:本实验利用MATLAB软件进行了矩阵实验,通过对矩阵的运算、转置、逆矩阵、特征值等操作进行了分析和讨论。
实验结果表明,MATLAB在矩阵运算方面具有高效、准确的特点,能够满足工程和科学计算的需求。
希望本实验能够对矩阵运算和MATLAB软件的应用有所启发,为相关领域的研究和应用提供参考。
院系:数学与统计学学院专业:__统计学年级:2009 级课程名称:统计分析 ____学号:____________姓名:_________________指导教师:____________2012年4月28日(一)实验名称1. 编程计算样本协方差矩阵和相关系数矩阵;2. 多元方差分析MANOVA。
(二)实验目的1. 学习编制sas程序计算样本协方差矩阵和相关系数矩阵;2. 对数据进行多元方差分析。
(三)实验数据第一题:第二题:(四)实验内容1. 打开SAS软件并导入数据;2. 编制程序计算样本协方差矩阵和相关系数矩阵;3. 编制sas程序对数据进行多元方差分析;4. 根据实验结果解决问题,并撰写实验报告;(五)实验体会(结论、评价与建议等)第一题:程序如下:proc corr data=sasuser.sha n cov;proc corr data=sasuser.sha n no simple cov;with x3 x4;partial x1 x2;run;结果如下:(1)协方差矩阵$AS亲坯曲;15 Friday, Apr: I SB,沙DOCOUR过程x4目由度=30Xi x2x3x4x5X?-10.I9B4944-0.45E2GJ5I.3347097-G.1193E48-£0.e75»GS-ID. 188494669,36&Q3?9-7.22IO&OS1J5692043I5.49ee^91S.Oa97SM-8.45S2645■7,221050829.S78&S46-6.372E47I-15.3084183-21.7352376-11.56747851.3841097 1.G5S2M7t.3726171IJ24«17B 4.e093011 4.4C124732.B747CM-G. I1S3S49 1.GS92043-is.soul aa 4.B09B01I68.7978495劣』S670971S.57ai1B3-IH.05l6l?a15.43S6569-J1.73S2376孔耶124TB27.0387097105.103225&S7.3505S7E:-2D K5752??319-11337204-1L55M7S52r9747?3i19,573118337.3S0&87E33.3SQ6452 (2) 相关系数矩阵Pearson相关系数” N =引当HO: Rho=0 时.Prob > |r|Xi Xixl1.QQ000x2-C.239540.2061x3-0,304590.0957x40.18975Q.3092x5'0.141570.4475x6-0.837870.0630-0.492920.0150x2-0.23354 1.00000-0.162750.143510.022700.181520.24438 x20.20C10.31:1?0.441?0.90350.32640.1761x3-0.30459-0.16275 1.00000-0.06219-0.34641-0.^797-0.23674 x30.095?0.381?<.00010.0563o.oses0 JS97x40.1S8760.14351-0.86219L000000.400540,313650.22610 x40.30920.4412<.0001 D.02EG Q.085S0.2213x5-0J 41570.02270-0.946410.40054 1.000000.317370.26750 x50.4J750.90350.0G68Q.025&0.08130+1620x6-0.33?e?0.1S162-0.397970.813650.31787LOOOOO0.82976 x60.0S300.32840.02660.08580.0813C0001辺-0.432920.24938-0.288740.22810 D.267600.92976 1.00000 x70,01500J7610.19970.22130JG20<.0001第二题:程序如下:proc anova data=sasuser.hua ng;class kind;model x1-x4=k ind;manova h=k ind;run;结果如下:(1)分组水平信息The ANNA ProcedureCla^s Level Informat ionClass Level®Valueskind 3 123Number of observatIons CO(2) x1、x2、x3、x4的方差分析Dependent Variable : xl xlSource DFSum of SquaresMea n Square F Value Pr > F Model 25221.30000 2610.650003.380.0411Error57 44069.55000773.15000Corrected Total 5949290.85000R-Square Coeff Var Rcot MSE xl Mean 0.10592832.3508727.8055785.95000Source DF Anova SS Mean Square F ValuePr > F kind25221.300000 2610.6500003.380.0411The ANOVA ProcsdureDependent Variable : x2 x2S UB ofSource DFSquares Mean Square F ValuePr > F Model 2 518.533333 259.26666?1.620.2078Error57 9148.050000160.492105Corrected Total 599666.583333R-Square Coeff Var Root MSE 0.05364222.9988812.6685555.08333Source DF Anova SS Mean Square F ValuePr > Fkind2518.5333333259.26666671.620.2078The ANOVA Procedure)epende 「t Variable : x:3 x3S UM ofSource DF Squares Mean SquareF Value Pr > FModel2 2480.8333 1240.41670.170.8478Error57 427028.50007491.7281Corrected Total 59429509.3333R-Square Coeff Var Root MSE x3 Mean0.00577621.1798088.55477408.66672480.8333331240.4166670.17 0.8478The ANOVA Procedurex2 Mean SourceAnova SS Mean Square F Value Pr > Fkind(3) 多元方差分析The ProcedureMulti var I ate Ana lysis of Vari sinceCharacteri st ic Roots and Vectors of :: E Inverse 水 H, whereH =舫ow SSCP Matrix for kindE = Error SSCP MatrixChareucteri st icRoot Percent Characteristic Vector V F EV=1x1 x2 x30.33804686 73J7 -0.00045795 -0.00379096 0.00090988 0.00279339 0.12323983 26,C3 0.00424111 0.00236878 0.00D01B42 0.00002832 0.00000000 0.00 0.00121062 -0.00032401 0.00157046 -0.00006539 0.000000000,00-0.003177880.010435260.000070140.00078872MANOVA Test Criteria and F ApproxI nat Ions for the Hypothesis of No Overall kind EffectH 二 Anova SSCP Matr ix for kindE = Error SSCP MatrixS=2M=0*5 N=26 Stat ist icVa 1 ueF Value Num DFDsn DF Pr > F Wilks' Lambda0*660359533.04 8 IDS 0.0040 Pi 1lai f s Trace0.36123585 3,03 e 110 0.0041 Hote11 ing-Law 1ey Trace Q.45927921 3.07 e 74.85G0.0048 Roy s Greatest Root 0.336045804.624550.0027NOTE : F Statistic for Roy's Greatest Root iis an upper boundsNOTE: F Statist ic f or Wilks' Lambdei is exact.根据多元分析结果,p 指小于0.05,表明在0.05的显著水平下,四个变量有 显著差异SourceDF Sum of Squares Mean iSouare F ValuePr > F Model239529,3000 192B4.8E0D 8.010.0009Error57 197115.10002405.5281Corrected Totiii59175644.4000R-SqusreGreff Vir Root M SE x4 Mean0.21936018.96604 49.04610 250.6000SourceDFA JWVI SSMean ^4j&re F V&luePr > F kind2 38529.3000019264.650008.010.0009The ANOVA ProcedureDependent Var iabls : x4 x4。
多元统计分析实验报告计算协方差矩阵相关矩阵SAS实验目的:通过对多元统计分析中的协方差矩阵和相关矩阵的计算,探究变量之间的相关性,并使用SAS进行实际操作。
实验步骤:1.数据准备:选择一个数据集,例如学生的成绩数据,包括数学成绩、语文成绩和英语成绩。
2.数据整理:将数据转化为矩阵形式,每一行代表一个学生,每一列代表一个变量(即成绩),记为X。
3. 计算协方差矩阵:根据公式计算协方差矩阵C,其中元素Cij表示变量Xi和Xj之间的协方差。
计算公式为Cij = cov(Xi, Xj) = E((Xi - u_i)(Xj - u_j)),其中E为期望值,u_i和u_j分别是变量Xi和Xj的均值。
4. 计算相关矩阵:根据协方差矩阵计算相关矩阵R,其中元素Rij表示变量Xi和Xj之间的相关性。
计算公式为Rij = cov(Xi, Xj) / (sigma_i * sigma_j),其中sigma_i和sigma_j分别是变量Xi和Xj的标准差。
5.使用SAS进行实际操作:使用SAS软件导入数据集,并使用PROCCORR和PROCPRINT命令进行协方差矩阵和相关矩阵的计算和输出。
实验结果:通过计算协方差矩阵和相关矩阵,可以得到变量之间的相关性信息。
协方差矩阵的对角线上的元素表示每个变量的方差,非对角线上的元素表示不同变量之间的协方差。
相关矩阵的对角线上的元素都是1,表示每个变量与自身的相关性为1,非对角线上的元素表示不同变量之间的相关性。
使用SAS进行实际操作后,我们可以得到一个包含协方差矩阵和相关矩阵的输出表格。
该表格可以帮助我们更直观地理解变量之间的相关性情况,从而为后续的统计分析提供参考。
实验总结:通过本次多元统计分析实验,我们了解了协方差矩阵和相关矩阵的计算方法,并使用SAS软件进行实际操作。
这些矩阵可以帮助我们评估变量之间的相关性,为后续的统计分析提供重要的基础信息。
在实际应用中,我们可以根据协方差矩阵和相关矩阵的结果,选择合适的统计方法和模型,并做出恰当的推断和决策。
MATLAB程序设计实验班级:电信1104班姓名:龙刚学号:1404110427实验内容:了解MA TLAB基本使用方法和矩阵的操作一.实验目的1.了解MA TLAB的基本使用方法。
2.掌握MA TLAB数据对象的特点和运算规则。
3.掌握MA TLAB中建立矩阵的方法和矩阵的处理方法。
二.实验内容1.浏览MATLAB的start菜单,了解所安装的模块和功能。
2.建立自己的工作目录,使用MA TLAB将其设置为当前工作目录。
使用path命令和工作区浏览两种方法。
3.使用Help帮助功能,查询inv、plot、max、round等函数的用法和功能。
使用help命令和help菜单。
4.建立一组变量,如x=0:pi/10:2*pi,y=sin(x),在命令窗口显示这些变量;在变量窗口打开这些变量,观察其值并使用绘图菜单绘制y。
5.分多行输入一个MA TLAB命令。
6.求表达式的值)610.3424510w-=+⨯()22tanb ca eabcxb c aππ++-+=++,a=3.5,b=5,c=-9.8(20.5ln tz e t=,21350.65it-⎡⎤=⎢⎥-⎣⎦7.已知1540783617A--⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,831253320B-⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A+6B,A2-B+IA*B,A.*B,B*AA/B,B/A[A,B],[A([1,3], :); B^2]8.已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦ 输出A 在[10,25]范围内的全部元素取出A 的前三行构成矩阵B ,前两列构成矩阵C ,右下角3x2子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E分别求表达式E<D ,E&D ,E|D ,(~E) | (~D)9.已知2961820512885A -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A 的特征值和特征向量,分析其数学意义。
一、实验背景与目的矩阵连乘问题是一个经典的算法问题,它涉及给定一系列矩阵,确定这些矩阵的最佳乘积顺序,以最小化乘法操作的次数。
本实验旨在通过动态规划算法解决矩阵连乘问题,加深对动态规划方法的理解,并提高算法分析与设计的能力。
二、实验内容与步骤1. 问题描述与理解:- 给定n个矩阵A1, A2, ..., An,其中任意两个相邻矩阵都是可乘的。
- 目标是确定计算这些矩阵连乘积的最佳顺序,以最小化所需的乘法次数。
2. 算法分析:- 使用动态规划方法,通过将问题分解为子问题并存储子问题的解来求解。
- 设定m[i, j]表示矩阵Ai到Aj的最佳乘积顺序的乘法次数。
3. 动态规划过程:- 初始化m[i, i] = 0,因为单个矩阵不需要乘法。
- 对于长度为k的矩阵序列,通过遍历所有可能的分割点,计算m[i, j]的最小值。
- 具体步骤包括:- 对于每个可能的k(1 ≤ k ≤ n-1),- 对于每个起始矩阵i(1 ≤ i ≤ n-k),- 计算m[i, i+k-1]和m[i+k, j],- 更新m[i, j]为m[i, i+k-1] + m[i+k, j] + p[i-1] p[i] p[i+k]。
4. 代码实现:- 使用C或Java等编程语言实现动态规划算法。
- 编写辅助函数来计算矩阵的乘法次数。
三、实验结果与分析1. 实验结果:- 通过实验,成功实现了矩阵连乘问题的动态规划算法。
- 得到了计算给定矩阵序列连乘积所需的最小乘法次数。
2. 结果分析:- 动态规划方法有效地解决了矩阵连乘问题,避免了穷举法的指数级时间复杂度。
- 通过分析子问题的解,我们可以找到整个问题的最优解。
四、实验总结与反思1. 实验收获:- 加深了对动态规划方法的理解,特别是如何通过子问题的解来构建整个问题的解。
- 学会了如何将实际问题转化为动态规划问题,并使用代码实现算法。
2. 反思与展望:- 实验过程中遇到了一些挑战,如理解子问题的定义和计算最优子结构的策略。
一、实验目的1. 理解矩阵的基本概念和性质。
2. 掌握矩阵的运算方法,包括加法、减法、乘法等。
3. 学习矩阵的应用,如线性方程组的求解。
4. 提高数学建模和解决问题的能力。
二、实验内容本次实验主要围绕矩阵的运算和应用展开,具体内容包括:1. 矩阵的加法与减法2. 矩阵的乘法3. 矩阵的逆4. 线性方程组的求解三、实验步骤1. 矩阵的加法与减法(1)选择两个矩阵A和B,确保它们具有相同的行数和列数。
(2)将矩阵A和B对应位置的元素相加或相减,得到新的矩阵C。
(3)验证矩阵C的行数和列数与矩阵A和B相同。
2. 矩阵的乘法(1)选择两个矩阵A和B,确保矩阵A的列数等于矩阵B的行数。
(2)计算矩阵A的每一行与矩阵B的每一列的点积,得到新的矩阵C。
(3)验证矩阵C的行数等于矩阵A的行数,列数等于矩阵B的列数。
3. 矩阵的逆(1)选择一个可逆矩阵A。
(2)使用高斯-约当消元法求解矩阵A的逆。
(3)验证矩阵A与其逆矩阵的乘积为单位矩阵。
4. 线性方程组的求解(1)选择一个线性方程组,例如:AX = B,其中A是系数矩阵,X是未知数矩阵,B是常数矩阵。
(2)使用高斯-约当消元法求解线性方程组。
(3)验证求解得到的X矩阵是否满足原方程组。
四、实验结果与分析1. 矩阵的加法与减法通过实验,我们发现矩阵的加法与减法运算满足交换律和结合律,且结果矩阵的行数和列数与原矩阵相同。
2. 矩阵的乘法实验结果表明,矩阵的乘法运算满足交换律和结合律,且结果矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。
3. 矩阵的逆实验发现,对于可逆矩阵,其逆矩阵存在,且满足A A^(-1) = A^(-1) A = E(单位矩阵)。
4. 线性方程组的求解通过高斯-约当消元法,我们成功求解了线性方程组,并验证了求解结果的正确性。
五、实验结论1. 理解了矩阵的基本概念和性质,掌握了矩阵的运算方法。
2. 学会了使用矩阵求解线性方程组,提高了数学建模和解决问题的能力。
一、实验目的1. 理解稀疏矩阵的概念和特点。
2. 掌握稀疏矩阵的三元组表示方法。
3. 熟悉稀疏矩阵的基本运算,如转置、加法、减法等。
4. 提高编程能力和问题解决能力。
二、实验环境1. 操作系统:Windows 102. 编程语言:C++3. 开发工具:Visual Studio 2019三、实验内容1. 稀疏矩阵的三元组表示- 设计稀疏矩阵的三元组存储结构。
- 编写函数实现稀疏矩阵的三元组表示。
2. 稀疏矩阵的基本运算- 实现稀疏矩阵的转置。
- 实现稀疏矩阵的加法、减法。
- 实现稀疏矩阵的乘法。
3. 实验结果分析- 对实验结果进行分析,比较稀疏矩阵与普通矩阵运算的效率。
四、实验步骤1. 稀疏矩阵的三元组表示- 定义稀疏矩阵的三元组存储结构,包括行号、列号和元素值。
- 编写函数实现稀疏矩阵的三元组表示,包括读取稀疏矩阵的三元组数据、构建稀疏矩阵的三元组表示等。
2. 稀疏矩阵的基本运算- 实现稀疏矩阵的转置,包括交换行号和列号、重新排序等。
- 实现稀疏矩阵的加法、减法,包括遍历两个稀疏矩阵的三元组,计算对应元素的加法或减法结果。
- 实现稀疏矩阵的乘法,包括遍历两个稀疏矩阵的三元组,计算对应元素的乘法结果。
3. 实验结果分析- 对实验结果进行分析,比较稀疏矩阵与普通矩阵运算的效率。
- 分析实验结果,得出稀疏矩阵运算的优缺点。
五、实验结果1. 稀疏矩阵的三元组表示- 读取稀疏矩阵的三元组数据,构建稀疏矩阵的三元组表示。
2. 稀疏矩阵的基本运算- 实现稀疏矩阵的转置,包括交换行号和列号、重新排序等。
- 实现稀疏矩阵的加法、减法,包括遍历两个稀疏矩阵的三元组,计算对应元素的加法或减法结果。
- 实现稀疏矩阵的乘法,包括遍历两个稀疏矩阵的三元组,计算对应元素的乘法结果。
3. 实验结果分析- 稀疏矩阵运算效率比普通矩阵运算高,尤其在稀疏程度较高的矩阵上。
- 稀疏矩阵运算的缺点是存储空间较大,且运算过程中需要频繁进行数据交换。
matlab矩阵实验报告
《MATLAB矩阵实验报告》
摘要:
本实验报告利用MATLAB软件进行了一系列矩阵实验,包括矩阵的创建、运算、特征值分解和矩阵方程的求解等。
通过实验,我们深入了解了矩阵在MATLAB
中的操作方法,掌握了矩阵运算的基本原理和技巧。
1. 实验目的
本实验旨在通过MATLAB软件进行矩阵实验,掌握矩阵的基本操作和运算方法,加深对矩阵特征值分解和矩阵方程求解的理解,提高MATLAB软件的应用能力。
2. 实验内容
(1)矩阵的创建和赋值
(2)矩阵的运算:加法、减法、乘法
(3)矩阵的特征值分解
(4)矩阵方程的求解
3. 实验过程
首先,我们在MATLAB软件中创建了若干个矩阵,并对其进行了赋值操作。
然后,我们进行了矩阵的加法、减法和乘法运算,观察了不同矩阵之间的运算结果。
接着,我们利用MATLAB自带的函数对矩阵进行了特征值分解,并分析了
特征值分解的意义和应用。
最后,我们利用MATLAB解决了一些矩阵方程,验
证了矩阵方程求解的正确性。
4. 实验结果
通过实验,我们成功创建了各种矩阵,并对其进行了各种运算。
特征值分解和
矩阵方程的求解也得到了满意的结果,验证了MATLAB在矩阵操作方面的强大功能。
5. 实验结论
通过本次实验,我们进一步加深了对矩阵操作的理解,掌握了MATLAB软件在矩阵实验方面的应用技巧。
矩阵在数学和工程领域有着广泛的应用,MATLAB 软件的矩阵操作功能为矩阵相关问题的研究和解决提供了便利和支持。
综上所述,本次实验取得了圆满成功,为我们进一步学习和应用矩阵知识奠定了良好的基础。
一、实验目的1. 理解矩阵的基本概念和性质。
2. 掌握矩阵的运算方法,包括加法、减法、乘法、转置等。
3. 学习矩阵的行列式、逆矩阵、秩和迹的计算方法。
4. 熟悉矩阵的分解方法,如三角分解、Cholesky分解等。
5. 通过实验加深对矩阵论理论的理解和应用。
二、实验原理矩阵论是线性代数的一个重要分支,主要研究矩阵及其运算。
矩阵在自然科学、工程技术、经济学等领域都有广泛的应用。
本实验主要涉及以下内容:1. 矩阵的基本运算:矩阵的加法、减法、乘法、转置等。
2. 矩阵的行列式、逆矩阵、秩和迹的计算方法。
3. 矩阵的分解方法,如三角分解、Cholesky分解等。
三、实验仪器与软件1. 仪器:计算机2. 软件:MATLAB四、实验内容1. 矩阵的基本运算(1)编写MATLAB程序,计算矩阵A和B的加法、减法、乘法、转置。
(2)验证矩阵运算的性质,如结合律、分配律等。
2. 矩阵的行列式、逆矩阵、秩和迹的计算(1)编写MATLAB程序,计算矩阵A的行列式、逆矩阵、秩和迹。
(2)验证计算结果与理论值的一致性。
3. 矩阵的分解方法(1)编写MATLAB程序,对矩阵A进行三角分解(LU分解)。
(2)编写MATLAB程序,对矩阵A进行Cholesky分解。
(3)验证分解结果与理论值的一致性。
4. 应用实例(1)使用矩阵运算解决实际问题,如线性方程组的求解。
(2)使用矩阵分解方法解决实际问题,如求解最小二乘问题。
五、实验步骤1. 编写MATLAB程序,实现矩阵的基本运算。
2. 编写MATLAB程序,计算矩阵的行列式、逆矩阵、秩和迹。
3. 编写MATLAB程序,对矩阵进行三角分解和Cholesky分解。
4. 对实验结果进行分析,验证理论值与实验结果的一致性。
5. 使用矩阵运算和分解方法解决实际问题。
六、实验结果与分析1. 矩阵的基本运算实验结果与分析通过编写MATLAB程序,实现了矩阵的加法、减法、乘法、转置等基本运算。
实验结果与理论值一致,验证了矩阵运算的性质。
线性代数实验报告
本次实验我们主要学习了线性代数的基础知识,包括向量的表示、矩阵的表示、线性方程组的求解以及线性变换的性质等方面。
在实验中,我们使用MATLAB进行计算及可视化操作。
具体来说,我们学习了以下几个方面的内容:
1. 向量的表示
向量是线性代数的基本概念之一,表示一个有向线段。
而在计算机中,可以通过向量的坐标来表示向量。
本次实验中,我们学习了如何使用MATLAB求出向量的模长、单位向量以及两个向量之间的夹角等。
矩阵是线性代数中的另一个重要概念,常用于表示线性方程组的系数矩阵。
在MATLAB 中,矩阵可以通过嵌套的向量来表示。
我们学习了如何求矩阵的行列式、逆矩阵、特征值等。
3. 线性方程组的求解
线性方程组是线性代数中的一个重要概念,其解法有很多种,包括高斯消元法、LU分解法、Jacobi迭代法等。
本次实验中,我们学习了如何使用MATLAB求解线性方程组,并对几种求解方法进行了比较和分析。
4. 线性变换的性质
线性变换是线性代数中的另一个重要概念,可以将一个向量空间变换成另一个向量空间。
在MATLAB中,可以通过矩阵乘法的方式来表示线性变换。
我们学习了线性变换的一些基本性质,如线性、保持原点等,并通过可视化的方式观察线性变换的效果。
通过本次实验,我们不仅掌握了线性代数的一些基础知识,也学会了使用MATLAB进行线性代数方面的计算和可视化操作。
这对于学习和研究线性代数都有着重要的意义。
矩
阵
分
析
实
验
报
告
学院:电气学院
专业:控制工程
姓名:XXXXXXXX
学号:211208010001
矩阵分析实验报告
实验题目
利用幂法求矩阵的谱半径
实验目的与要求
1、 熟悉matlab 矩阵实验室的功能和作用;
2、 利用幂法求矩阵的谱半径;
3、 会用matlab 对矩阵分析运算。
实验原理
理念
谱半径定义:设n n
A C
⨯∈,1λ,2λ,3λ, ,j λ, n λ是A 的n 个特征值,称
()max ||j j
A ρλ=
为关于A 的谱半径。
关于矩阵的谱半径有如下结论:
设n n
A C
⨯∈,则
(1)[]()()k
k
A A ρρ=;
(2)2
2()()()H H A A AA A ρρ==。
由于谱半径就是矩阵的主特征值,所以实验换为求矩阵的主特征值。
算法介绍
定义:如果1λ是矩阵A 的特征值,并且其绝对值比A 的任何其他特征值的绝对值大,则称它为主特征值。
相应于主特征值的特征向量1V 称为主特征向量。
定义:如果特征向量中最大值的绝对值等于单位值(例如最大绝对值为1),则称其为是归一化的。
通过形成新的向量'
12=c n V (1/)[v v v ],其中c=v 且1max {},j i n i ≤≤=v v 可将特
征向量 '12n [v v v ]进行归一化。
设矩阵A 有一主特征值λ,而且对应于λ有唯一的归一化特征向量V 。
通过下面这个称为幂法(power method )的迭代过程可求出特征对λ,V ,从下列向量开始:
[]'
0=111X (1)
用下面递归公式递归地生成序列{}k X :
k k Y AX =
k+11
1
k k X Y c +=
(2)
其中1k c +是k Y 绝对值最大的分量。
序列{}k X 和{}k c 将分别收敛到V 和λ:
1lim k X V =和lim k c λ= (3)
注:如果0X 是一个特征向量且0X V ≠,则必须选择其他的初始向量。
幂法定理:设n ×n 矩阵A 有n 个不同的特征值λ1,λ2,···,,λn ,而且它们按绝对
值大小排列,即:
123n λλλλ≥≥≥⋅⋅⋅≥ (4)
如果选择适当的X 0,则通过下列递推公式可生成序列{[()
()(
)
]}12k k
k k n X x x x '=⋅⋅⋅和
{}k c : k k Y AX = (5)
和:
11
1k k k X Y c ++=
(6)
其中: ()
1k k j c x +=且{}
()()1max k k j i i n
x x ≤≤=
(7)
这两个序列分别收敛到特征向量V 1和特征值λ1。
即:
1lim k k X V →∞
=和1lim k k c λ→∞
= (8)
算法收敛性证明
证明:由于A 有n 个特征值,所以有对应的特征向量V j ,j=1,2,···n 。
而且它们是
线性无关且归一化的,可形成一个n 维空间的基。
因此初始向量X 0可表示为它们的一个线性组合:
01122n n X bV b V b V =++⋅⋅⋅+ (9)
设[]012n X x x x =⋅⋅⋅,且10b ≠,而且X 0的分量满足{}
1max 1j n j x ≤≤=。
因为{}
1
n j j V =是
A 的特征向量,归一化乘积AX 0可得到:
()001122n n Y AX A bV b V b V ==++⋅⋅⋅+ 1122n n b AV b AV b AV =++⋅⋅⋅+
111222n n n b V b V b V λλλ=++⋅⋅⋅+ (10)
2
1112211
((
)...())n n n bV b V b V λλλλλ=+++ 和:
1
2
111221
11
((
)...())n n n X bV b V b V c λλλλλ=
+++ 经过k 个迭代后,可得到:
11k k Y AX --= 1
1
1121122121
11
((
)...())...k k k n n n k A
bV b V b V c c c λλλλλ----=+++ 1
1
1121122121
11
((
)...())...k k k n n n k b AV b AV b AV c c c λλλλλ----=
+++ (11) 1
1
112111222121
11
((
)...())...k k k n n n n k b V b V b V c c c λλλλλλλλ----=
+++ 12112212111(()...())...k k
k n n
n
k bV b V b V c c c λλλλλ-=+++ 和:
1
11211221211
((
)...())...k
k k n k n n k
X bV b V b V c c c λλλλλ--=
+++ 由于设1/1,2,3,...,,j j n λλ<=可得到:
1
lim (
)0,2,3,...,j k
j j k b V j n λλ→∞
== (12)
因此可进一步得到:
11112lim lim ...k
k k k k
b X V
c c c λ→∞→∞=
(13)
由于要求k X 和1V 是归一化的,而且最大分量为1. 因此式(13)左边的向量极限将归一化,使得其最大分量为1. 这样式(13)右边1V 的标量乘数存在极限,且为1,即:
11112lim 1...k k k
b V
c c c λ→∞= (14)
因此向量序列{}k X 收敛到主特征值:
lim k c λ=
(15)
在式(14)中按顺序用k-1替换k ,可得:
1111121
lim 1...k k k b V c c c λ-→∞-= 在式(14)两边除以上面的结果可得到:
11121
1111121/()lim lim 1/(...)
k k k k k k k b c c c V c b c c c λλλ-→∞→∞-== 因此常数序列{}k C 收敛到主特征值:
1lim k k C λ→∞
=
(16)
证毕。
实例分析
求下面矩阵的主特征值与特征向量
1
21361243A -⎡⎤⎢⎥=-⎢⎥
⎢⎥--⎣⎦
Matlab 程序
A=[1 2 -1 ;3 6 -1 ;-2 -4 2];
X=[1 1 1 ]';
epsilon=0.000001; max1=100;
lambda=0;
cnt=0;
err=1;
state=1;
while((cnt<=max1)&(state==1))
Y=A*X;
[m j]=max(abs(Y));
c1=m;
dc=abs(lambda-c1);
Y=(1/c1)*Y;
dv=norm(X-Y);
err=max(dc,dv);
X=Y;
lambda=c1;
state=0;
if(err>epsilon)
state=1;
end
cnt=cnt+1;
end
V=X
W=lambda
plot(err)
实验结果
V = 0.4000
1.0000
-0.8000
W =8.0000
W=8.0000即为矩阵
121
361
243
A
-
⎡⎤
⎢⎥
=-
⎢⎥
⎢⎥
--
⎣⎦
的谱半径。
结果分析与体会
通过本次实验。