matlab求矩阵特征值特征向量 乘幂法

合集下载

matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量

matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量

竭诚为您提供优质文档/双击可除matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量篇一:幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1.幂法简介:当矩阵a满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。

矩阵a需要满足的条件为:(1)|1||2|...|n|0,i为a的特征值xn(2)存在n个线性无关的特征向量,设为x1,x2,...,1.1计算过程:n对任意向量x,有x(0)(0)iui,i不全为0,则有i1x(k1)ax(k)...ak1x(0)aαiuiαiλik1uik1i1i1nnnk12k1λ1u1()a2u2()anun11k111u1k112|越小时,收敛越快;且当k充分大时,有可见,当|1 (k1)k111u1x(k1)x(k1)(k)x1(k),对应的特征向量即是。

kxx11u12算法实现(1).输入矩阵a,初始向量x,误差限,最大迭代次数n(2).k1,0;y(k)x(k)max(abs(x(k))(3).计算xay,max(x);(4).若||,输出,y,否则,转(5)(5).若kn,置kk1,,转3,否则输出失败信息,停机.3matlab程序代码function[t,y]=lpowera,x0,eps,n)%t为所求特征值,y 是对应特征向量k=1;z=0;%z相当于y=x0./max(abs(x0));%规范化初始向量x=a*y;%迭代格式b=max(x);%b相当于ifabs(z-b) t=max(x);return;endwhileabs(z-b)>epsz=b;y=x./max(abs(x));x=a*y;b=max(x);end[m,index]=max(a(matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量)bs(x));%这两步保证取出来的按模最大特征值t=x(index);%是原值,而非其绝对值。

数学实验“矩阵主特征值及相应特征向量的乘幂法,原点平移法,Rayleigh商加速法”实验报告(内含matlab程序)

数学实验“矩阵主特征值及相应特征向量的乘幂法,原点平移法,Rayleigh商加速法”实验报告(内含matlab程序)
eps = 1.0e-6; end v = x0; M = 5000; m = 0; l = 0;பைடு நூலகம்for(k=1:M)
y = A*v; m = max(y); v = y/m; if(abs(m - l)<eps)
l = m;
-1-
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

matlab计算特征值用的方法

matlab计算特征值用的方法

matlab计算特征值用的方法
在MATLAB中,计算特征值和特征向量有多种方法可供选择。

下面详细介绍其中的几种常用方法:
1. eig函数:eig函数是MATLAB中用于计算方阵的特征值和特征向量的最常用函数。

它的基本语法是:
```
[V, D] = eig(A)
```
其中A是输入的方阵,V是特征向量矩阵,D是对角矩阵,对角线上的元素是特征值。

2. eigs函数:eigs函数是用于计算稀疏或大型方阵的部分特征值和特征向量的函数。

它的使用方法与eig函数类似,但可以指定计算的特征值数量,语法如下:
```
[V, D] = eigs(A, k)
```
其中A是输入的方阵,V是包含k个特征向量的矩阵,D是对角矩阵,对角线上的元素是对应的特征值。

3. svd函数:svd函数是奇异值分解(Singular Value Decomposition)方法,也可以用于计算方阵的特征值和特征向量。

它的使用方法如下:```
[U, S, V] = svd(A)
```
其中A是输入的方阵,U和V是正交矩阵,S是对角矩阵,对角线上的元素是奇异值。

特征值和特征向量可以通过奇异值的平方获得。

这些是MATLAB中计算特征值和特征向量的常用方法。

具体使用哪种方法取决于问题的要求、输入矩阵的特点以及计算效率。

在实际使用中,可以根据具体情况选择适当的方法。

数值方法课程设计幂法反幂法计算矩阵特征值和特征向量-附Matlab程序

数值方法课程设计幂法反幂法计算矩阵特征值和特征向量-附Matlab程序

矩阵的特征值与特征向量的计算摘要物理,力学,工程技术中的很多问题在数学上都归结于求矩阵特征值的问题,例如振动问题(桥梁的振动,机械的振动,电磁振动等)、物理学中某些临界值的确定问题以及理论物理中的一些问题。

矩阵特征值的计算在矩阵计算中是一个很重要的部分,本文使用幂法和反幂法分别求矩阵的按模最大,按模最小特征向量及对应的特征值。

幂法是一种计算矩阵主特征值的一种迭代法,它最大的优点是方法简单,对于稀疏矩阵比较合适,但有时收敛速度很慢。

其基本思想是任取一个非零的初始向量。

由所求矩阵构造一向量序列。

再通过所构造的向量序列求出特征值和特征向量。

反幂法用来计算矩阵按模最小特征向量及其特征值,及计算对应于一个给定近似特征值的特征向量。

本文中主要使用反幂法计算一个矩阵的按模最小特征向量及其对应的特征值。

计算矩阵按模最小特征向量的基本思想是将其转化为求逆矩阵的按模最大特征向量。

然后通过这个按模最大的特征向量反推出原矩阵的按模最小特征向量。

关键词:矩阵;特征值;特征向量;冥法;反冥法THE CALCULATIONS OF EIGENVALUE AND EIGENVECTOR OF MATRIXABSTRACTPhysics, mechanics, engineering technology in a lot of problems in mathematics are attributed to matrix eigenvalue problem, such as vibration (vibration of the bridge, mechanical vibration, electromagnetic vibration, etc.) in physics, some critical values determine problems and theoretical physics in some of the problems. Matrix eigenvalue calculation is a very important part in matrix computation. In this paper, we use the power method and inverse power method to calculate the maximum of the matrix, according to the minimum characteristic vector and the corresponding characteristic value.Power method is an iterative method to calculate the eigenvalues of a matrix. It has the advantage that the method is simple and suitable for sparse matrices, but sometimes the convergence rate is very slow. The basic idea is to take a non - zero initial vector. Construct a vector sequence from the matrix of the matrix. Then the eigenvalues and eigenvectors are obtained by using the constructed vector sequence.The inverse power method is used to calculate the minimum feature vectors and their eigenvalues of the matrix, and to calculate the eigenvalues of the matrix. In this paper, we use the inverse power method to calculate the minimum eigenvalue of a matrix and its corresponding eigenvalues. The basic idea of calculating the minimum characteristic vector of a matrix is to transform it to the maximumc haracteristic vector of the modulus of the inverse matrix. Then, according to the model, the minimum feature vector of the original matrix is introduced.Key words: Matrix ;Eigenvalue ;Eigenvector ;Iteration methods;目录1引言 (1)2相关定理。

matlab幂法求特征值和特征向量方法实现和函数表示

matlab幂法求特征值和特征向量方法实现和函数表示

matlab幂法求特征值和特征向量方法实现和函数表示1. 引言在数值分析中,求解特征值和特征向量是一项重要而且经常出现的任务。

特征值和特征向量在矩阵和线性代数中有着广泛的应用,涉及到许多领域,如机器学习、信号处理、结构动力学等。

在matlab中,幂法是一种常用的求解特征值和特征向量的方法,同时也有对应的函数可以实现这一过程。

2. 幂法的原理幂法是一种迭代方法,它利用矩阵的特征值和特征向量的性质,通过不断地迭代计算,逼近矩阵的主特征值和对应的特征向量。

具体来说,假设A是一个n阶矩阵,它的特征值λ1>λ2≥...≥λn,并且对应着线性无关的特征向量v1,v2,...,vn。

如果选择一个任意的非零初始向量x0,并进行以下迭代计算:```x(k+1) = Ax(k) / ||Ax(k)||```其中,||.||表示向量的模长。

不断迭代计算后,x(k)将收敛到矩阵A的主特征向量v1上,并且相应的特征值即为A的主特征值λ1。

3. matlab实现幂法求解特征值和特征向量在matlab中,幂法的实现也非常简单。

可以使用自带的eig函数,该函数可以直接求解矩阵的特征值和特征向量。

使用方法如下:```[V,D] = eig(A)```其中,A为待求解的矩阵,V为特征向量矩阵,D为特征值矩阵。

利用eig函数,即可一步到位地求解矩阵的特征值和特征向量,非常简单方便。

4. 函数表示幂法求解特征值和特征向量的过程可以表示为一个matlab函数。

通过封装相关的迭代算法和收敛判据,可以方便地实现幂法的函数表示。

可以定义一个名为powerMethod的函数:```matlabfunction [lambda, v] = powerMethod(A, x0, maxIter, tol)% 初始化k = 1;x = x0;% 迭代计算while k <= maxItery = A * x;lambda = norm(y, inf);x = y / lambda;% 检查收敛性if norm(A * x - lambda * x) < tolbreak;endk = k + 1;endv = x;end```利用这个函数,就可以自己实现幂法求解特征值和特征向量的过程。

matlab求矩阵的特征值与特征向量

matlab求矩阵的特征值与特征向量

项目六 矩阵的特征值与特征向量实验1 求矩阵的特征值与特征向量实验目的学习利用Mathematica(4.0以上版本)命令求方阵的特征值和特征向量;能利用软件计算方 阵的特征值和特征向量及求二次型的标准形.基本命令1.求方阵M 的特征值的命令Eigenvalues[M]2.求方阵M 的特征向量的命令Eigenvectors[M]3.求方阵M 的特征值和特征向量的命令Eigensystem[M]注:在使用后面两个命令时,如果输出中含有零向量,则输出中的非零向量才是真正的特 征向量.4.对向量组施行正交单位化的命令GramSchmidt使用这个命令,先要调用“线性代数.向量组正交化”软件包,输入<<LinearAlgebra\Orthogonalization.m执行后,才能对向量组施行正交单位化的命令.命令GramSchmidt[A]给出与矩阵A 的行向量组等价的且已正交化的单位向量组. 5.求方阵A 的相似变换矩阵S 和相似变换的约当标准型J 的命令 JordanDecomposition[A]注:因为实对称阵的相似变换的标准型必是对角阵. 所以,如果A 为实对称阵,则 JordanDecomposition[A]同时给出A 的相似变换矩阵S 和A 的相似对角矩阵Λ.实验举例求方阵的特征值与特征向量.例1.1 求矩阵.031121201⎪⎪⎪⎭⎫ ⎝⎛--=A 的特征值与特值向量.1.求矩阵A 的特征值. 输入A={{-1,0,2},{1,2,-1},{1,3,0}}MatrixForm[A] Eigenvalues[A]则输出A 的特征值{-1,1,1}2.求矩阵A 的特征向量. 输入A={{-1,0,2},{1,2,-1},{1,3,0}} MatrixForm[A] Eigenvectors[A]则输出 {{-3,1,0},{1,0,1},{0,0,0}} 即A 的特征向量为.101,013⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛-3.利用命令Eigensystem 同时矩阵A 的所有特征值与特征向量. 输入A={{-1,0,2},{1,2,-1},{1,3,0}} MatrixForm[A] Eigensystem[A]则输出矩阵A 的特征值及其对应的特征向量.例1.2 求矩阵⎪⎪⎪⎭⎫ ⎝⎛---=2163/115/12/13/13/1A 的特征值和特征向量的近似值.输入A={{1/3,1/3,-1/2},{1/5,1,-1/3},{6,1,-2}}; Eigensystem[A]则屏幕输出的结果很复杂,原因是矩阵A 的特征值中有复数且其精确解太复杂.此时,可采用 近似形式输入矩阵A ,则输出结果也采用近似形式来表达.输入A={{1/3,1/3,-1/2},{1/5,1,-1/3},{6.0,1,-2}}; Eigensystem[A]则输出{{-0.748989+1.27186i,-0.748989-1.27186i,0.831311}, {{0.179905+0.192168i,0.116133+0.062477I,0.955675+0.i}, {0.179905-0.192168i,0.116133-0.062477i,0.955675+0.i}, {-0.0872248,-0.866789,-0.490987}}}从中可以看到A 有两个复特征值与一个实特征值.属于复特征值的特征向量也是复的;属于实 特征值的特征向量是实的.例1.3 已知2是方阵⎪⎪⎪⎭⎫ ⎝⎛=32131003t A 的特征值,求t .输入Clear[A,q];A={{2-3,0,0},{-1,2-t,-3},{-1,-2,2-3}}; q=Det[A] Solve[q==0,t]则输出{{t →8}}即当8=t 时,2是方阵A 的特征值.例1.4 已知)1,1,1(-=x 是方阵⎪⎪⎪⎭⎫⎝⎛---=2135212b aA 的一个特征向量,求参数b a ,及特征向 量x 所属的特征值. 设所求特征值为t ,输入Clear[A,B,v,a,b,t];A={{t-2,1,-2},{-5,t-a,-3},{1,-b,t+2}}; v={1,1,-1}; B=A.v;Solve[{B[[1]]==0,B[[2]]==0,B[[3]]==0},{a,b,t}]则输出{{a →-3, b →0, t →-1}}即0,3=-=b a 时,向量)1,1,1(-=x 是方阵A 的属于特征值-1和特征向量.矩阵的相似变换例1.5 设矩阵⎪⎪⎪⎭⎫⎝⎛=222222114A ,求一可逆矩阵P ,使AP P 1-为对角矩阵.方法1 输入Clear[A,P];A={{4,1,1},{2,2,2},{2,2,2}}; Eigenvalues[A]P=Eigenvectors[A]//Transpose则输出{0,2,6}{{0,-1,1},{-1,1,1},{1,1,1}}即矩阵A 的特征值为0,2,6.特征向量为⎪⎪⎪⎭⎫ ⎝⎛-110,⎪⎪⎪⎭⎫ ⎝⎛-111与⎪⎪⎪⎭⎫ ⎝⎛111,矩阵⎪⎪⎪⎭⎫ ⎝⎛--=111111110P . 可验证AP P 1-为对角阵, 事实上,输入 Inverse[P].A.P则输出{{0,0,0},{0,2,0},{0,0,6}}因此,矩阵A 在相似变换矩阵P 的作用下,可化作对角阵.方法2 直接使用JordanDecomposition 命令, 输入jor=JordanDecomposition[A]则输出{{{0,-1,1},{-1,1,1},{1,1,1}},{{0,0,0},{0,2,0},{0,0,6}}}可取出第一个矩阵S 和第二个矩阵Λ,事实上,输入jor[[1]] jor[[2]]则输出{{0,-1,1},{-1,1,1},{1,1,1}} {{0,0,0},{0,2,0},{0,0,6}}输出结果与方法1的得到的结果完全相同.例1.6 已知方阵⎪⎪⎪⎭⎫ ⎝⎛-=11322002x A 与⎪⎪⎪⎭⎫⎝⎛-=y B 00020001相似, 求y x ,.注意矩阵B 是对角矩阵,特征值是y ,2,1-.又矩阵A 是分块下三角矩阵,-2是矩阵A 的特 征值.矩阵A 与B 相似,则2-=y ,且-1,2也是矩阵A 的特征值.输入Clear[c,v];v={{4,0,0},{-2,2-x,-2},{-3,-1,1}}; Solve[Det[v]==0,x]则输出{{x →0}}所以,在题设条件,0=x ,2-=y . 例1.7 已知二次型3231212322213212422),,(x x x x x x x x x x x x f +-++-=(1)求标准形; (2)求正惯性指数; (3)判断二次型是否正定. 输入A={{1,1,-2},{1,-2,1},{-2,1,1}}Eigenvalues[A]则输出矩阵A 的特征值为{-3,0,3}所以二次型的标准形为222133y y f +=;正惯性指数为1;该二次型不是正定的. 例1.8 求正交变换将二次型43324121242322213212222),,(x x x x x x x x x x x x x x x f -+-++++=化为标准形.输入A={{1,1,0,-1},{1,1,1,0},{0,1,1,-1},{-1,0,-1,1}} MatrixForm[A] X={x1,x2,x3,x4}; Expand[X.A.X]<<LinearAlgebra\Orthogonalization.m P=GramSchmidt[Eigenvectors[A]] P.A.Inverse[P]//MatrixForm则输出所求的正交变换矩阵P 与二次型矩阵A 标准形. 从结果知,所求二次型的标准型为24232221y y y y g +++-=实验习题1.求方阵⎪⎪⎪⎭⎫ ⎝⎛-----=122212221A 的特征值与特征向量.2.求方阵⎪⎪⎪⎪⎪⎭⎫ ⎝⎛------=1111111111111111A 的特征值与特征向量.3.已知:0是方阵⎪⎪⎪⎭⎫ ⎝⎛t 01020101的特征值,求t .4.设向量Tk x )1,,1(=是方阵⎪⎪⎪⎭⎫⎝⎛=211121112A 的特征向量,求k .5.方阵⎪⎪⎪⎭⎫⎝⎛--=111010210A 是否与对角阵相似?6.已知:方阵⎪⎪⎪⎭⎫ ⎝⎛=x A 10100002与⎪⎪⎪⎭⎫⎝⎛-=10000002y B 相似,(1)求x 与y ;(2)求一个满足关系B AP P =-1的方阵P .7.设方阵⎪⎪⎪⎭⎫ ⎝⎛-=124222421A ,求正交阵C ,使得AC C B T =是对角阵.实验2 层次分析法实验目的通过应用层次分析法解决一个实际问题,学习层次分析法的基本原理与方法;掌握用层次 分析法建立数学模型的基本步骤;学会用Mathematica 解决层次分析法中的数学问题.基本原理层次分析法是系统分析的重要工具之一,其基本思想是把问题层次化、数量化, 并用数学 方法为分析、决策、预报或控制提供定量依据. 它特别适用于难以完全量化, 又相互关联、 相互制约的众多因素构成的复杂问题. 它把人的思维过程层次化、数量化,是系统分析的一中 新型的数学方法.运用层次分析法建立数学模型, 一般可按如下四个基本步骤进行.1.建立层次结构首先对所面临的问题要掌握足够的信息, 搞清楚问题的范围、因素、各因素之间的相互 关系,及所要解决问题的目标. 把问题条理化、层次化, 构造出一个有层次的结构模型. 在这个模型下,复杂问题被分解为元素的组成部分. 这些元素又按其属性及关系形成若干层次.层 次结构一般分三层:第一层为最高层, 它是分析问题的预定目标和结果, 也称目标层;第二层为中间层, 它是为了实现目标所涉及的中间环节, 如: 准则、子准则, 也称准则 层;第三层为最底层, 它包括了为实现目标可供选择的各种措施、决策方案等, 也称方案层.(章栋恩P268图26.1)图2-1注:上述层次结构具有以下特点:(1) 从上到下顺序地存在支配关系, 并用直线段表示;(2) 整个层次结构中层次数不受限制.2.构造判断矩阵构造判断矩阵是建立层次分析模型的关键. 假定以上一层的某元素y 为准则,它所支配 的下一层次的元素为n x x x ,,,21 ,这n 个元素对上一层次的元素y 有影响,要确定它们在y 中的比重. 采用成对比较法. 即每次取两个元素i x 和j x , 用ij a 表示i x 与j x 对y 的影响之比, 全部比较的结果可用矩阵A 表示,即.,,2,1,,)(n j i a A n n ij ==⨯ 称矩阵A 为判断矩阵.根据上述定义,易见判断矩阵的元素ij a 满足下列性质:)(,1),(1j i a j i a a ii ijji ==≠=当0>ij a 时,我们称判断矩阵A 为正互反矩阵.怎样确定判断矩阵A 的元素ij a 的取值呢? 当某层的元素n x x x ,,,21 对于上一层某元素y 的影响可直接定量表示时, i x 与j x 对y的影响之比可以直接确定, ij a 的值也可直接确定. 但对于大多数社会经济问题, 特别是比较 复杂的问题, 元素i x 与j x 对y 的重要性不容易直接获得, 需要通过适当的量化方法来解决. 通常取数字1~9及其倒数作为ij a 的取值范围. 这是因为在进行定性的成对比较时, 通常采用 5级制(表1),在每两个等级之间各有一个中间状态, 共1~9个尺度, 另外心理学家认为进行成 对比较的因素太多, 将超出人们的判断比较能力, 降低精确. 实践证明, 成对比较的尺度以 27±为宜, 故ij a 的取值范围是9,,2,1 及其倒数.表1 比较尺度ij a 的取值 97531/ijj i a x x 绝对强很强强较强相等3.计算层次单排序并做一致性检验层次单排序是指同一层次各个元素对于上一层次中的某个元素的相对重要性进行排序.具体做法是: 根据同一层n 个元素n x x x ,,,21 对上一层某元素y 的判断矩阵A ,求出它们对 于元素y 的相对排序权重,记为n w w w ,,,21 ,写成向量形式T n w w w w ),,,(21 =, 称其为A 的层次单排序权重向量, 其中i w 表示第i 个元素对上一层中某元素y 所占的比重, 从而得到层次单排序.层次单排序权重向量有几种求解方法,常用的方法是利用判断矩阵A 的特征值与特征向 量来计算排序权重向量w .关于正互反矩阵A ,我们不加证明地给出下列结果. (1) 如果一个正互反矩阵n n ij a A ⨯=)(满足),,2,1,,(n k j i a a a ik jk ij ==⨯则称矩阵A 具有一致性, 称元素k j i x x x ,,的成对比较是一致的; 并且称A 为一致矩阵.(2) n 阶正互反矩阵A 的最大特征根n ≥max λ, 当n =λ时, A 是一致的. (3) n 阶正互反矩阵是一致矩阵的充分必要条件是最大特征值 n =max λ.计算排序权重向量的方法和步骤设T n w ),,,(21ωωω =是n 阶判断矩阵的排序权重向量, 当A 为一致矩阵时, 根据n阶判断矩阵构成的定义,有⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=n n n n n n A ωωωωωωωωωωωωωωωωωω212221212111 (2.1) 因而满足,nw Aw = 这里n 是矩阵A 的最大特征根, w 是相应的特征向量; 当A 为一般的 判断矩阵时w Aw max λ=, 其中max λ是A 的最大特征值(也称主特征根), w 是相应的特征向量(也称主特征向量). 经归一化(即11=∑=ni iω)后, 可近似作为排序权重向量, 这种方法称为特征根法.一致性检验 在构造判断矩阵时, 我们并没有要求判断矩阵具有一致性, 这是由客观事物的复杂性 与人的认识的多样性所决定的. 特别是在规模大、因素多的情况下, 对于判断矩阵的每个元 素来说,不可能求出精确的j i ωω/, 但要求判断矩阵大体上应该是一致的. 一个经不起推敲 的判断矩阵有可能导致决策的失误. 利用上述方法计算排序权重向量, 当判断矩阵过于偏离 一致性时, 其可靠性也有问题. 因此,需要对判断矩阵的一致性进行检验, 检验可按如下步骤 进行: (1) 计算一致性指标CI1m a x --=n nCI λ (2.2)当,0=CI 即n =max λ时, 判断矩阵A 是一致的. 当CI 的值越大, 判断矩阵A 的不一致的程 度就越严重.(2) 查找相应的平均随机一致性指标RI 表2给出了n )11~1(阶正互反矩阵的平均随机一致性指标RI , 其中数据采用了 100~150个随机样本矩阵A 计算得到.(3) 计算一致性比例CRRICI CR =(2.3) 当10.0<C R 时, 认为判断矩阵的一致性是可以接受的; 否则应对判断矩阵作适当修正.4. 计算层次总排序权重并做一致性检验 计算出某层元素对其上一层中某元素的排序权重向量后, 还需要得到各层元素, 特别 是最底层中各方案对于目标层的排序权重, 即层次总排序权重向量, 再进行方案选择. 层次 总排序权重通过自上而下地将层次单排序的权重进行合成而得到. 考虑3个层次的决策问题: 第一层只有1个元素, 第二层有n 个元素, 第三层有m 个元 素.设第二层对第一层的层次单排序的权重向量为Tn w ),,,()2()2(2)2(1)2(ωωω =第三层对第二层的层次单排序的权重向量为n k w w w w Tkn k k k ,,2,1,),,,()3()3(2)3(1)3( ==以)3(k w 为列向量构成矩阵:n m nm m mn n n w w w w w w w w w w w w W ⨯⎪⎪⎪⎪⎪⎭⎫⎝⎛==)3()3(2)3(1)3(2)3(22)3(12)3(1)3(21)3(11)3()3(2)3(1)3(,,,,,,,,,,,),,,( (2.4) 则第三层对第一层的层次总排序权重向量为)2()3()3(w W w = (2.5) 一般地, 若层次模型共有s 层, 则第k 层对第一层的总排序权重向量为s k w W w k k k ,,4,3,)1()()( ==-(2.6) 其中)(k W 是以第k 层对第1-k 层的排序权向量为列向量组成的矩阵,)1(-k w 是第1-k 层对第 一层的总排序权重向量. 按照上述递推公式, 可得到最下层(第s 层)对第一层的总排序权重 向量为)2()3()1()()(w W W W w s s s -= (2.7)对层次总排序权重向量也要进行一致性检验. 具体方法是从最高层到最低层逐层进行 检验. 如果所考虑的层次分析模型共有s 层. 设第l (s l ≤≤3)层的一致性指标与随机一致性指标分别为)()(2)(1,,,l n l l CI CI CI (n 是第1-l 层元素的数目)与)()(2)(1,,,l n l l RI RI RI , 令)1()(1)(1)(],,[-=l l l l w CI CI CI (2.8) )1()(1)(1)(],,[-=l l l l w RI RI RI(2.9)则第l 层对第一层的总排序权向量的一致性比率为s l RICI CR CR l l l l ,,4,3,)()()1()( =+=-(2.10) 其中)2(CR 为由(2.3)式计算的第二层对第一层的排序权重向量的一致性比率.当最下层对第一层的总排序权重向量的一致性比率1.0)(<s CR 时, 就认为整个层次结构 的比较判断可通过一致性检验.应用举例问题 在选购电脑时, 人们希望花最少的钱买到最理想的电脑. 试通过层次分析法建立 数学模型,并以此确定欲选购的电脑.1. 建立选购电脑的层次结构模型(章栋恩P268图26.2 左边加目标层、准则层、方案层字样)图2-2该层次结构模型共有三层:目标层(用符号z 表示最终的选择目标); 准则层(分别用符号 521,,,y y y 表示“性能”、“价格”、“质量”、“外观”、“售后服务”五个判断准则); 方案层(分别用符号321,,x x x 表示品牌1, 品牌2, 品牌3三种选择方案).2.构造成对比较判断矩阵(1) 建立准则层对目标层的成对比较判断矩阵根据表1的定量化尺度, 从建模者的个人观点出发, 设准则层对目标层的成对比较判断矩阵为⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=13123/13/113/12/19/113123/12/122/115/139351A(2.11) (2) 建立方案层对准则层的成对比较判断矩阵,113/1113/1331,123/12/115/13511252/1135/13/11,12/15/1213/1531,1252/1135/13/1154321⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=B B B B B3.计算层次单排序权重向量并做一致性检验先利用Mathematica 计算矩阵A 的最大特征值及特征值所对应的特征向量. 输入<<Miscellaneous\RealOnly.m(*调用只求实数运算的软件包*)A={{1.0,5,3,9,3},{1/5,1,1/2,2,1/2},{1/3,2,1,3,1},{1/9,1/2,1/3,1,1/3},{1/3,2,1,3,1}};(*以小数形式1.0输入进行近似计算, 可避免精确解太长、太复杂*) T=Eigensystem[A]//Chop(*输入//Chop, 把与零非常接近的数换成零*)则输出{{5.00974,Nonreal,Nonreal,0,0},{{0.88126,0.167913,0.304926,0.0960557,0.304926}, {0.742882,Nonreal,Nonreal,Nonreal,Nonreal}, {0.742882,Nonreal,Nonreal,Nonreal,Nonreal}, {-0.993398,0,0.0673976,0.0662265,0.0650555}, {-0.65676,0,0.57431,0.043784,-0.486742}}} (输出中的Nonreal 表示复数)从中得到A 的最大特征值,00974.5max =λ及其对应的特征向量T x )304926.0,0960557.0,304926.0,167913.0,88126.0(=输入Clear[x]; x=T[[2,1]];ww2=x/Apply[Plus,x]则得到归一化后的特征向量T w )173739.0,0547301.0,173739.0,0956728.0,502119.0()2(= 计算一致性指标1max --=n nCI λ,其中,00974.5,5max ==λn 故.002435.0=C I 查表得到相应的随机一致性指标 12.1=RI 从而得到一致性比率002174.0)2(==RICICR 因,1.0)2(<CR 通过了一致性检验,即认为A 的一致性程度在容许的范围之内, 可以用归一 化后的特征向量)2(w 作为排序权重向量. 下面再求矩阵)5,,2,1( =j B j 的最大特征值及特征值所对应的特征向量, 输入B1=B3={{1.0,1/3,1/5},{3,1,1/2},{5,2,1}}; B2=Transpose[B1];B4={{1.0,5,3},{1/5,1,1/2},{1/3,2,1}}; B5={{1.0,3,3},{1/3,1,1},{1/3,1,1}}; T1=Eigensystem[B1]//Chop T2=Eigensystem[B2]//Chop T3=Eigensystem[B3]//Chop T4=Eigensystem[B4]//Chop T5=Eigensystem[B5]//Chop则输出 {{3.00369,Nonreal, Nonreal},{{0.163954,0.46286,0.871137},{ Nonreal, Nonreal,0.871137}, { Nonreal, Nonreal, 0.871137}}};{{3.00369,Nonreal, Nonreal}, {{0.928119,0.328758,0.174679}, {0.928119, Nonreal, Nonreal}, {0.928119, Nonreal, Nonreal}}}{{3.00369, Nonreal, Nonreal}, {{0.163954,0.46286,0.871137}, { Nonreal, Nonreal,0.871137}, { Nonreal, Nonreal,0.871137}}}{{3.00369, Nonreal, Nonreal}, {{0.928119,0.174679,0.328758}, {0.928119, Nonreal, Nonreal}, {0.928119, Nonreal, Nonreal}}} {{3,0,0},{{0.904534,0.301511,0.301511}, {-0.973329,0.162221,0.162221},{-0.170182,-0.667851,0.724578}}从上面的输出可以分别得到)5,,2,1( =j B j 的最大特征值000.3,00369.3,00369.3,00369.3,00369.354321=====λλλλλ 以及上述特征值所对应的特征向量TT T TT x x x x x )301511.0,301511.0,904534.0()328758.0,174679.0,928119.0()871137.0,46286.0,163954.0()174679.0,328758.0,928119.0()871137.0,46286.0,163954.0(54321=====其中.5,,2,1),,,(321 ==i x x x x i i i i 为求出归一化后的特征向量, 输入Clear[x1,x2,x3,x4,x5]; x1=T1[[2,1]]; w1=x1/Apply[Plus,x1]x2=T2[[2,1]]; w2=x2/Apply[Plus,x2] x3=T3[[2,1]]; w3=x3/Apply[Plus,x3] x4=T4[[2,1]]; w4=x4/Apply[Plus,x4] x5=T5[[2,1]]; w5=x5/Apply[Plus,x5]则输出TT T TT w w w w w )200000.0,200000.0,600000.0()229651.0,12202.0,648329.0()581552.0,308996.0,109452.0()12202.0,229651.0,648329.0()581552.0,308996.0,109452.0(54321===== 计算一致性指标)5,,2,1(1=--=i n nCI i i λ,其中,3=n 输入lamda={T1[[1,1]],T2[[1,1]],T3[[1,1]],T4[[1,1]],T5[[1,1]]} CI=(lamda-3)/(3-1)//Chop则输出0,0018473.0,0018473.0,0018473.0,0018473.054321=====CI CI CI CI CI查表得到相应的随机一致性指标)5,,2,1(58.0 ==i RI i计算一致性比率5,,2,1, ==i RI CI CR iii ,输入CR=CI/0.58则输出.0,003185.0,003185.0,003185.0,003185.054321=====CR CR CR CR CR因),5,,2,1(,1.0 =<i CR i 通过了一致性检验. 即认为)5,,2,1( =j B j 的一致性程度在容许 的范围之内, 可以用归一化后的特征向量作为其排序权重向量.4. 计算层次总排序权重向量并做一致性检验购买个人电脑问题的第三层对第二层的排序权重计算结果列于表3.以矩阵表示第三层对第二层的排序权重计算结果为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=2.0229651.0581552.012202.0581552.02.012202.0308996.0229651.0308996.06.0648329.0109452.0648329.0109452.0)3(W )3(W 即是第三层对第二层的权重向量为列向量组成的矩阵. 最下层(第三层)对最上层(第一层)的总排序权向量为)2()3()3(w W w =为了计算上式, 输入W3=Transpose[{w1,w2,w3,w4,w5}]; ww3=W3.ww2则从输出结果得到T w )452037.0,272235.0,275728.0()3(=为了对总排序权向量进行一致性检验, 计算)2(521)3().,,.,.(w I C I C I C CI =输入CI.ww2则从输出结果得到0015263.0)3(=CI 再计算)2(51)3(],,[w RI RI RI =,输入RI=Table[0.58,{j,5}]; RI.ww2则从输出结果得到 58.0.)3(=I R最后计算 )3()3()2()3(./...I R I C R C R C +=,可得0048057.0.)3(=R C 因为,1.0.)3(<R C 所以总排序权重向量符合一致性要求的范围.根据总排序权重向量的分量取值, 品牌3的电脑是建模者对这三种品牌机的首选.实验报告1.根据你的设想购置一台计算机, 需考虑什么样的判断准则? 利用层次分析法及数学软件做出最佳的决策.2.根据你的经历设想如何报考大学, 需要什么样的判断准则? 利用层次分析法及数学软件做出最佳的决策.3.假期到了, 某学生打算做一次旅游, 有四个地点可供选择, 假定他要考虑5个因素: 费用、景色、居住条件、饮食以及旅游条件. 由于该学生没有固定收入, 他对费用最为看重, 其次是旅游点的景色, 至于旅游条件、饮食, 差不多就行, 住什么地方就更无所谓了. 这四个旅游点没有一个具有明显的优势, 而是各有优劣. 该同学拿不定主意, 请用层次分析法帮助他找出最佳旅游点.4. 假设你马上就要从大学毕业, 正面临择业的问题, 你对工作的选择着重考虑下面几个因素: (1)单位的声誉; (2)收入; (3)专业是否对口; (4)是否有机会深造或晋升; (5)工作地点;(6)休闲时间. 对上述各种因素你可以根据自己的具体情况排序,也可以增加或减少所考虑的因素. 现在有四个单位打算你, 但如果用上述标准来衡量,没有一个单位具有明显的优势,请用层次分析法为你自己做一个合理的选择.。

matlab幂法求特征值与特征向量 -回复

matlab幂法求特征值与特征向量 -回复

matlab幂法求特征值与特征向量-回复Matlab幂法求特征值与特征向量Matlab是一种常用的数学软件,它提供了一系列强大的数值计算工具和函数,旨在简化数学建模和计算的过程。

其中,求解特征值与特征向量是矩阵分析与线性代数中的重要问题之一。

在此,我们将介绍如何使用Matlab中的幂法来求解矩阵的特征值与特征向量。

特征值与特征向量是矩阵分析的基本概念。

给定一个矩阵A,如果存在一个非零向量x,使得Ax=λx,其中λ是一个实数,则称λ为A的特征值,x 为相应于特征值λ的特征向量。

在Matlab中,计算矩阵的特征值与特征向量可以使用`eig`函数。

这个函数能够计算矩阵所有特征值的值,其中特征值按照降序排列。

对于复杂特征值,这个函数会返回具有相应特征向量的V矩阵。

然而,幂法是一种迭代方法,可用于估计矩阵A的最大特征值λ和相应的特征向量x。

幂法的基本思想是利用矩阵的特征值分解性质中最大特征值的绝对值大于其他特征值的绝对值,从而将问题简化为求解最大特征值及其特征向量。

下面,我们将以以下步骤详细介绍如何使用Matlab中的幂法求解矩阵的特征值与特征向量:步骤1:定义初始向量x0首先定义一个非零的初始向量x0。

该向量可以是随机生成的,或者是具有合理初始值的向量。

步骤2:计算矩阵的迭代利用初始向量x0和矩阵A,计算下一个迭代向量x1。

具体而言,使用x0得到x1通过以下公式计算:x1 = A * x0步骤3:归一化迭代向量计算归一化的迭代向量x1。

这可以通过除以向量中的最大元素来完成。

归一化向量可以确保以后的计算产生可靠结果。

x1 = x1 / max(x1)步骤4:计算特征值估计计算特征值的估计值λ。

这可以通过计算x1的无穷范数与x0的无穷范数之比来实现:λ= norm(x1,Inf) / norm(x0,Inf)步骤5:收敛判断判断计算得到的特征值估计是否收敛。

这可以通过设定一个容差值来实现,在误差满足一定条件时停止迭代计算。

matlab怎么求解矩阵特征方程

matlab怎么求解矩阵特征方程

matlab怎么求解矩阵特征方程矩阵特征方程是线性代数中一个非常重要的概念,matlab作为一款强大的计算软件,可以很好地实现矩阵特征方程的求解。

下面我们来一步步地讲解如何利用matlab求解矩阵特征方程。

1. 创建矩阵在matlab中,我们需要首先创建一个矩阵。

创建矩阵的方式有很多种,比如可以手动输入矩阵的元素,也可以从文件中读取矩阵数据。

这里,我们以手动输入为例,假设我们要创建一个3x3的矩阵A,代码如下:A = [1 2 3; 4 5 6; 7 8 9];2. 求解特征值利用matlab求解矩阵特征方程,我们首先需要求解矩阵的特征值。

matlab提供了一个函数eig(),可以很方便地实现特征值的求解。

我们可以输入以下代码来计算矩阵A的特征值:eig(A)执行以上代码,输出结果为:ans =1.6117e+01-1.1168e+00-9.7592e-16上述结果表示矩阵A的三个特征值分别为16.117,-1.1168,-9.7592e-16。

其中,-9.7592e-16表示非常接近于0的值,在实际计算中可以看做是0。

3. 求解特征向量求解特征值之后,我们还需要求解出对应的特征向量。

同样,matlab也提供了一个函数eig(),可以在计算特征值的同时求解其对应的特征向量。

我们可以输入以下代码来计算矩阵A的特征值和特征向量:[V,D] = eig(A)执行以上代码,输出结果为:V =-0.2319715 0.7858302 0.4082483-0.5253221 0.0867513 -0.8164966-0.8186726 -0.6123276 0.4082483D =1.6117e+01 0 00 -1.1168e+00 00 0 -9.7592e-16上述结果中,V表示矩阵A的特征向量,D表示特征值对应的对角矩阵。

可以看出,矩阵V的每一列对应着矩阵A的一个特征向量。

4. 求解特征方程通过以上步骤,我们已经得到了矩阵A的特征值和特征向量。

探索MATLAB中的矩阵特征值与特征向量

探索MATLAB中的矩阵特征值与特征向量

探索MATLAB中的矩阵特征值与特征向量矩阵特征值与特征向量是线性代数领域中的重要概念,它们在科学、工程和数据分析等领域中具有广泛的应用。

MATLAB作为一种功能强大的数值计算软件,为我们提供了一些方便的工具来研究和分析矩阵特征值与特征向量。

首先,让我们明确一下什么是矩阵的特征值与特征向量。

在线性代数中,对于一个n阶矩阵A,如果存在一个非零向量x,使得Ax = λx,其中λ为一个常数,我们称λ为矩阵A的特征值,x为相应特征值λ的特征向量。

特征值与特征向量的重要性在于它们可以帮助我们了解矩阵的性质和行为。

在MATLAB中,我们可以使用`eig()`函数来计算矩阵的特征值和特征向量。

例如,对于一个3x3的矩阵A,我们可以通过以下代码来计算它的特征值和特征向量:```A = [1, 2, 3; 4, 5, 6; 7, 8, 9];[eigenvalues, eigenvectors] = eig(A);```在上述代码中,`eigenvalues`是一个由矩阵A的特征值组成的列向量,而`eigenvectors`则是一个由矩阵A的特征向量所构成的矩阵,其中每一列对应一个特征向量。

除了通过`eig()`函数计算特征值和特征向量外,MATLAB还提供了一些其他有用的函数来进一步分析和处理特征值和特征向量。

例如,我们可以使用`eig()`函数的输出结果来计算矩阵的谱半径,即特征值的绝对值的最大值。

代码如下:```spectral_radius = max(abs(eigenvalues));```谱半径是一个衡量矩阵稳定性的重要指标,它与系统的动态行为息息相关。

通过计算矩阵的谱半径,我们可以判断系统是否稳定,以及其稳定性的程度。

此外,MATLAB还提供了一些函数来对特征值和特征向量进行排序和筛选。

例如,我们可以使用`sort()`函数对特征值进行排序,代码如下:```sorted_eigenvalues = sort(eigenvalues,'descend');```上述代码将特征值按降序排列,存储在`sorted_eigenvalues`中。

Matlab中的矩阵运算与应用

Matlab中的矩阵运算与应用

Matlab中的矩阵运算与应用引言矩阵运算是Matlab中的重要组成部分,它为我们提供了一种便捷的方式来进行各种数学计算和数据处理。

本文将介绍Matlab中常见的矩阵运算及其应用。

一、矩阵的创建与操作在Matlab中,我们可以通过不同的方式创建矩阵,比如直接赋值、使用内置函数和导入文件等。

创建好矩阵后,我们可以使用索引方式来访问和修改矩阵的元素。

此外,还可以对矩阵进行转置、取逆等操作。

例如,我们可以使用如下方式创建一个3x3的矩阵A:A = [1 2 3; 4 5 6; 7 8 9];然后,我们可以使用A(i, j)的方式访问矩阵中的元素,其中i和j表示行和列的索引。

二、矩阵运算1. 矩阵加法和减法在Matlab中,矩阵加法和减法是按元素进行操作的,即对应位置的元素相加或相减。

要进行矩阵加法或减法,两个矩阵的维度必须相同。

例如,我们可以定义两个3x3的矩阵A和B,并计算它们的和C:A = [1 2 3; 4 5 6; 7 8 9];B = [9 8 7; 6 5 4; 3 2 1];C = A + B;2. 矩阵乘法Matlab中的矩阵乘法是按矩阵运算规则进行的。

如果矩阵A的列数等于矩阵B 的行数,则它们可以相乘得到一个新的矩阵C,其维度为A的行数乘以B的列数。

例如,我们可以定义两个2x3和3x2的矩阵A和B,并计算它们的乘积C:A = [1 2 3; 4 5 6];B = [7 8; 9 10; 11 12];C = A * B;3. 矩阵的点乘和叉乘除了常规的矩阵乘法,Matlab还提供了点乘和叉乘操作。

点乘得到的结果是两个向量对应位置的乘积之和,而叉乘得到的结果是两个向量的向量积。

例如,我们可以定义两个3维向量x和y,并计算它们的点乘和叉乘:x = [1 2 3];y = [4 5 6];dot_product = dot(x, y);cross_product = cross(x, y);三、常用的矩阵运算函数除了上述基本的矩阵运算外,Matlab还提供了许多其他的矩阵运算函数,用于各种数学计算和数据处理。

matlab求矩阵特征值特征向量 乘幂法

matlab求矩阵特征值特征向量 乘幂法

摘 要根据现代控制理论课程的特点, 提出并利用MATLAB 设计了现代控制理论课程的实验, 给出了设计的每个实验的主要内容及使用到的MATLAB 函数, 并对其中的一个实验作了详细说明。

通过这些实验, 将有助于学生理解理论知识, 学习利用MATLAB 解决现代控制理论问题。

关键词:现代控制理论、MATLAB 、仿真。

1设计目的、内容及要求1.1设计目的本课程设计以自动控制理论、现代控制理论、MATLAB 及应用等知识为基础,求连续系统对应的离散化的系统,并用计算系数阵按模最大的特征根法判别离散系统的稳定性,目的是使学生在现有的控制理论的基础上,学会用MATLAB 语言编写控制系统设计与分析的程序,通过上机实习加深对课堂所学知识的理解,掌握一种能方便地对系统进行离散化的实现和分析系统的稳定性的设计的工具。

1.2设计内容及要求1 在理论上对连续系统离散化推导出算法和计算公式2 画出计算机实现算法的框图3 编写程序并调试和运行4 以下面的系统为例,进行计算⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=041020122A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100B ,[]111-=c 5 分析运算结果6 幂法迭代精度为ep=0.001,离散系统展开项数为207 程序应具有一定的通用性,对不同参数能有兼容性。

2算法选择及推导2.1连续系统离散化算法书P67离散化意义已知被控对象的状态方程为:()()()()()()t t u t y t t u t =+=+ xAx B Cx D对方程求解,得:0()()0()()()ott t t t t e t e u d τττ--=+⎰A A x x B设0t kT =,(1)t k T =+,代入上式,得:H 公式若省略T 则为{⎰+-++Φ=+Tk kTd kT Bu T k kt x T T k x )1()(])1[()()(])1([(ττφ不改变与离散后时刻,即得连续离散化方程则:相当于)+=(上限相当于下限设令D C kT Du kT Cx kT y kT t kT u T H kT x T G T k x Bdt t Bdt e T H t T k T t kT d dt T k t Bd e T H e T T G TTAT T k kT T k A AT )()()()()()()(])1([(:)()(0,1,,)1()()()(0)1(])1[(+==+=+Φ=====-=-+=⋅==Φ=⎰⎰⎰+-+ττττττ2.2判别离散系统的稳定性2.2.1方法选择这里选用乘幂法,即求矩阵A 按模最大的特征值和相应的特征向量的方法判别离散系统的稳定性。

matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量

matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量

matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量竭诚为您提供优质文档/双击可除matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量篇一:幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1.幂法简介:当矩阵a满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。

矩阵a需要满足的条件为:(1)|1||2|...|n|0,i为a的特征值xn(2)存在n个线性无关的特征向量,设为x1,x2,...,1.1计算过程:n对任意向量x,有x(0)(0)iui,i不全为0,则有i1x(k1)ax(k)...ak1x(0)aαiuiαiλik1uik1i1i1nnnk12k1λ1u1()a2u2()anun11k111u1k112|越小时,收敛越快;且当k充分大时,有可见,当|1 (k1)k111u1x(k1)x(k1)(k)x1(k),对应的特征向量即是。

kxx11u1 2算法实现(1).输入矩阵a,初始向量x,误差限,最大迭代次数n(2).k1,0;y(k)x(k)max(abs(x(k))(3).计算xay,max(x);(4).若||,输出,y,否则,转(5)(5).若kn,置kk1,,转3,否则输出失败信息,停机.3matlab程序代码function[t,y]=lpowera,x0,eps,n)%t为所求特征值,y 是对应特征向量k=1;z=0;%z相当于y=x0./max(abs(x0));%规范化初始向量x=a*y;%迭代格式b=max(x);%b相当于ifabs(z-b) t=max(x);return;endwhileabs(z-b)>epsz=b;y=x./max(abs(x));x=a*y;b=max(x);end[m,index]=max(a(matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量)bs(x));%这两步保证取出来的按模最大特征值t=x(index);%是原值,而非其绝对值。

第10章 MATLAB 特征值与特征向量的计算

第10章  MATLAB 特征值与特征向量的计算
ν
= Aν =
∑ α i时,
k 消元? ν ( k ) ≈ λ 1 α 1 x 1 + λ k α 2 x 2 , 消元 2 v v v k ν ( k + 1 ) ≈ λ 1 + 1α 1 x 1 + λ k + 1α 2 x 2 , 2 降次? 降次 v (k + 2) v v k+2 k+2 ν ≈ λ1 α 1 x1 + λ 2 α 2 x 2 ,
R(i, j ) =
(4) 以A1代替 ,重复 代替A,重复(1),(2),(3),直至 ij|<ε ,直至|a < (i≠j)时为止.此时 k中对角线元素即为所求 时为止. 时为止 此时A 对角线元素即为所求 的特征值,逐步变换矩阵R 的特征值,逐步变换矩阵 l,R2,…,Rk的乘积 列向量即为所求的特征向量 即为所求的特征向量. Uk=R1R2...Rk 的列向量即为所求的特征向量
v x i( k +2 ) + v x l( k +2 ) +
v v px i( k + 1) + qx i( k ) = 0 其余分量是否也满足 p = −(λ1 + λ2 ) v v q = λ1λ2 关系式? px l( k + 1) + qx l( k ) = 0 关系式 若满足
的两个根: 即, λ1 和λ2是方程λ2 + pλ + q=0 的两个根
ν ( 0) = ∑ α i xi ,
i =1
v
n
v
α1 ≠ 0
v
ν (k )
v
ν
v (1) v (2)
= Aν

matlab里eig计算特征值和特征向量算法

matlab里eig计算特征值和特征向量算法

matlab里eig计算特征值和特征向量算法在MATLAB中,可以使用eig函数来计算矩阵的特征值和特征向量。

eig是eigenvalue的缩写,意味着计算特征值的函数。

特征值和特征向量是矩阵分析中的重要概念,它们描述了矩阵在线性变换下的行为。

特征值是一个标量,特征向量是一个非零向量。

特征向量表示在矩阵所表示的线性变换下不变的方向。

特征值表示该特征向量方向上的缩放因子。

使用eig函数可以计算方阵的特征值。

下面是eig函数的使用方法:[V, D] = eig(A)其中,A是一个n×n维的方阵,V是一个n×n维的正交矩阵,D是一个n×n维的对角矩阵,其对角线上的元素是A的特征值。

特征值和特征向量有很多重要的应用。

其中一个重要的应用是在线性代数中求解线性方程组。

通过求解一个方阵的特征值和特征向量,可以将一个复杂的线性方程组转化为一系列简单的线性方程组。

此外,特征值和特征向量也在图像处理、信号处理和机器学习中被广泛使用。

特征值分解是一种将方阵分解为特征值和特征向量的方法。

在Matlab的eig函数中,采用了一种称为QR算法的迭代方法来计算特征值和特征向量。

QR算法是一种迭代算法,它在每一步中,通过正交相似变换将矩阵变换为Hessenberg矩阵(上三角阵),然后再通过正交相似变换将Hessenberg矩阵变换为Schur矩阵(上三角矩阵)。

在这个过程中,特征值和特征向量逐步被计算出来。

特征值的计算需要花费大量的计算资源和时间。

对于大型矩阵,计算特征值变得非常困难。

在这种情况下,通常采用其他方法,例如迭代方法、近似方法或者特征值分解的近似算法(例如奇异值分解)来计算特征值和特征向量。

除了eig函数,MATLAB还提供了其他用于计算特征值和特征向量的函数,例如eigs函数用于计算大规模矩阵的特征值和特征向量,svd函数用于进行奇异值分解,对于非对称矩阵,还可以使用schur函数进行特征值计算。

MATLAB矩阵计算大全

MATLAB矩阵计算大全

MATLAB与矩阵运算1.矩阵运算(1)矩阵元素的初始化:A=[1 2 3;4,5,6]A=[1 2 34 5 6](2)矩阵运算:A^2,A*A,A/B,A\B,A+B,A-B,a*Aa) 矩阵乘法:A)两个矩阵相乘A*B要求:A的列数和B的行数相等B)矩阵的数乘x*A %x与A的各个元素分别相乘C)点乘 A.*B要求:维数相同的向量或矩阵,对应元素对应相乘D)内积dot(A,B);dot(A,B,dim)% A×B=ATB要求:向量长度或矩阵维数相同(同为m x n维阵)。

b) 矩阵除法:在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。

如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。

A\B等效于A矩阵的逆左乘B矩阵,也就是inv(A)*B,相当于A*x = B的解;B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A),相当于x*A = B的解。

注意:对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相同的值,都等于0.75。

如,设a=[10.5,25],则a/5=5\a=[2.1000 5.0000]。

对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。

对于矩阵运算,一般A\B≠B/A。

c) 矩阵的乘方一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。

点运算:在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。

点运算符有.*、./、.\和.^。

两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。

(3)常见的运算rank(A): 矩阵秩的函数trace(A): 求矩阵的迹的函数det(A):求矩阵的行列式的值inv(A):求矩阵的逆A’:矩阵的转置内置矩阵函数:zeros(3,4);ones(3,4);2.矩阵的特征值与特征向量在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种:(1) E=eig(A):求矩阵A的全部特征值,构成向量E。

矩阵特征值 matlab

矩阵特征值 matlab

矩阵特征值 matlab矩阵特征值是指方阵A的一个数λ,使得方程式A x =λ x有非零解x。

其中x是列向量。

换句话说,特征值是矩阵作用于某个向量后,该向量方向不变的倍数。

在matlab中,可以使用eig函数来计算矩阵的特征值。

该函数的使用方法为:[E,D] = eig(A)其中A是输入的矩阵,E是特征向量矩阵,D是特征值对角矩阵。

特征向量矩阵E的每一列都是矩阵A的一个特征向量,特征值对角矩阵D的对角线上的元素就是矩阵A的特征值。

例如,计算一个3阶矩阵的特征值和特征向量可以如下进行:A = [1 2 3; 4 5 6; 7 8 9];[E,D] = eig(A)输出结果为:E =-0.2310 -0.7858 0.4082-0.5253 -0.0868 -0.8165-0.8196 0.6123 0.4082-1.1168e-15 0 00 -1.0000e+00 00 0 1.1168e+01这里输出的E是特征向量矩阵,D是特征值对角矩阵。

可以看出,矩阵A的特征值为0、-1和11。

当矩阵存在重复的特征值时,特征向量可能存在不确定性。

换句话说,有多种可能的结果。

matlab中可以使用null函数找到解空间的基,并将结果标准化以获取正交的特征向量。

可以看出,矩阵A存在重复特征值,特征向量完全确定不下来。

下面我们使用null函数进行处理:% 挑选出特征值为4的特征向量V = [E(:, 1) E(:, 3)];% 将V该变成正交的Q = null(V');% 将V和Q合并成一个健壮的反转矩阵E1,并计算特征值矩阵D1E1 = [V Q];D1 = inv(E1) * A * E1D1 =可以看出,特征向量是正交的,对应的特征值分别是1,1和8。

注意到我们在构造健壮的特征向量矩阵时使用了null函数,这确保了我们得到一组正交的特征向量来计算特征值。

在matlab中,特征值或特征向量也可以通过eigs函数来计算出来。

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

摘 要
根据现代控制理论课程的特点, 提出并利用MATLAB 设计了现代控制理论课程的实验, 给出了设计的每个实验的主要内容及使用到的MATLAB 函数, 并对其中的一个实验作了详细说明。

通过这些实验, 将有助于学生理解理论知识, 学习利用MATLAB 解决现代控制理论问题。

关键词:现代控制理论、MATLAB 、仿真。

1设计目的、内容及要求
1.1设计目的
本课程设计以自动控制理论、现代控制理论、MATLAB 及应用等知识为基础,求连续系统对应的离散化的系统,并用计算系数阵按模最大的特征根法判别离散系统的稳定性,目的是使学生在现有的控制理论的基础上,学会用MATLAB 语言编写控制系统设计与分析的程序,通过上机实习加深对课堂所学知识的理解,掌握一种能方便地对系统进行离散化的实现和分析系统的稳定性的设计的工具。

1.2设计内容及要求
1 在理论上对连续系统离散化推导出算法和计算公式
2 画出计算机实现算法的框图
3 编写程序并调试和运行
4 以下面的系统为例,进行计算
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=041020122A ,⎥⎥
⎥⎦

⎢⎢⎢⎣⎡=100B ,[]111-=c 5 分析运算结果
6 幂法迭代精度为ep=0.001,离散系统展开项数为20
7 程序应具有一定的通用性,对不同参数能有兼容性。

2算法选择及推导
2.1连续系统离散化算法
书P67离散化意义
已知被控对象的状态方程为:
()()()()()()t t u t y t t u t =+=+ x
Ax B Cx D
对方程求解,得:
0()()0()()()o
t
t t t t t e t e u d τττ
--=+⎰A A x x B
设0t kT =,(1)t k T =+,代入上式,得:
H 公式
若省略T 则为{

+-++Φ=+T
k kT
d kT Bu T k kt x T T k x )1()(])1[()()(])1([(τ
τφ不改变与离散后时刻,即得连续离散化方程则:相当于)+=(上限相当于下限设令D C kT Du kT Cx kT y kT t kT u T H kT x T G T k x Bdt t Bdt e T H t T k T t kT d dt T k t Bd e T H e T T G T
T
AT T k kT T k A AT )()()()()()()(])1([(:
)()(0
,1,,)1()()()(0
)1(])1[(+==+=+Φ=====-=-+=⋅==Φ=⎰⎰⎰+-+τττττ
τ
2.2判别离散系统的稳定性
2.2.1方法选择
这里选用乘幂法,即求矩阵A 按模最大的特征值和相应的特征向量的方法判别离散系统的稳定性。

因为乘幂法是用于求大型稀疏矩阵的主特征值的迭代方法,其具有公式简单,易于在计算机上实现等特点。

2.2.2乘幂法算法
设矩阵A 的n 个特征值为
其相应的特征向量为x1,x 2,…x n ,且它们线性无关
对非零向量v ,用max(v )表示v 的按绝对值最大的分量,称向量u =v /max(v )为向量v 的规范化向量,规范化向量u 总满足‖u ‖∞=1.
乘幂法的规范化计算公式为: 任取初始向量u (0)=v (0)≠ 0,计算 可得
⎪⎩
⎪⎨⎧=÷=
,3,2,1,)()(k k k k μ
v u )1()(-=k k Au v )max()(k k
v =μ我们要求λ1 和 x 1,乘幂法的基本思想是取初始向量v (0)∈R n ,作迭代 v (k+1) =Av (k) =A k+1v (0) , k=0,1,2,… 产生迭代序列{v (k)}. 由于x 1,x 2,…x n 线性无关, 从而有
v (0) =a 1x 1+a 2x 2+…+a n x n
故有
v (k) = A k v (0) =a 1λ1k x 1+a 2λ2k x 2+…+a n λn k x n
))(max()(2
112111
1
∑∑==++=
n
i i k
i n
i i
k
i i i a a a a x x x x λλλλ
所以
其收敛速度由比值|λ2/λ1|来确定. 又由于
所以
2.2.3通过特征根判断稳定性
若按模最大的特征根绝对值大于1,则系统不稳定。

)
max()0()0()
(v A v
A u k k k =
)
max(lim 11
)(x x u =

→k k )max()(k k v =μ])(max[])(max[21112
111
1
1∑∑=-=++=n i i k i n
i i k
i i i a a a a x x x x λλλλλ1
lim λμ=∞
→k k 因此,当k 充分大时可取: λ1 ≈ μk , x 1 ≈ u
(k)
.
3程序框图
4 matlab程序
5.运行结果6心得体会参考文献。

相关文档
最新文档