7.利用matlab完成 符号方阵的特征值分解和 符号矩阵的奇异值分解 (matlab程序)

1.简述

      

(1)特征值分解:函数eig
格式:[V,D] = eig(A)      %计算A的特征值对角阵D和特征向量V,使AV=VD成立。

注意:特征值分解时,使用eig,矩阵A必须是方阵。

A = [0 1;1 1];
[V,D] = eig(A)
 
V =  
   -0.8507    0.5257
    0.5257    0.8507
 
D =
   -0.6180         0
         0    1.6180
(2)奇异值分解:函数svd
格式:[U,S,V] = svd (X)    %返回一个与X同大小的对角矩阵S,两个酉矩阵U和V,且满足= U*S*V'。若A为m×n阵,则U为m×m阵,V为n×n阵。奇异值在S的对角线上,非负且按降序排列。

注意:奇异值分解时,使用svd,当矩阵A是方阵时,对角矩阵S的对角元素就是A的特征值;从这一点出发,如果只是为了求特征值,无论是eig还是svd都可以完成任务。

特别注意一点,如果想求特征向量,svd奇异值分解得到的无论是U还是V都与eig特征值分解得到的V不一样。

>> [U,S,V] = svd (A)
U =
   -0.5257   -0.8507
   -0.8507    0.5257
 
S =
    1.6180         0
         0    0.6180
 
V =
   -0.5257    0.8507
   -0.8507   -0.5257
(3)总结:
相同点:当矩阵A是方阵时,svd奇异值分解得到的对角矩阵S的对角元素与eig特征值分解得到的特征值D相同。

2.代码

%% 学习目标:matlab符号方阵的特征值分解

clear all;
syms x;

A1=sym([2 2 2;3 3 3;4 4 4])
E1=eig(A1)         %特征值
[V1,D1]=eig(A1)    %特征向量  特征值矩阵

%% 学习目标:matlab符号矩阵的奇异值分解

clear all;
A=sym(magic(3))
svd(A)
 

3.运行结果

7.利用matlab完成 符号方阵的特征值分解和 符号矩阵的奇异值分解 (matlab程序)_第1张图片

 7.利用matlab完成 符号方阵的特征值分解和 符号矩阵的奇异值分解 (matlab程序)_第2张图片

 

你可能感兴趣的:(matlab,矩阵,算法,开发语言,线性代数,数据分析,数学建模)