您的位置:首页 > 编程语言 > MATLAB

基于Matlab来计算矩阵特征值和特征向量

2015-03-22 16:35 447 查看
简介

线性代数相关领域中,矩阵操作一般是核心内容。对矩阵的特征值和特征向量的计算一直在数值计算占有重要位置。这里介绍一种根据指定个数来返回矩阵特征值及特征向量的方式。

实例

% By lyqmath

% Dalian University of Technology

% School of Mathematical Sciences 2008

% BOLG: http://blog.sina.com.cn/lyqmath

% 取指定特征值对应的特征向量

clc; clear all; close all;

A = [1 3 7

3 8 9

5 4 6];

k = 2;

[V, D] = eig(A);

% 返回的V是以列向量对应的特征向量

% D是对角线上为特征值的矩阵

D = diag(D);

[D, I] = sort(D, 'descend');

% 得到了对应的排序

if k > length(D)

k = length(D);

end

temp(1) = {D(1 : k)};

temp(2) = {V(:, I(1 : k))};

fprintf('\n 前k个最大特征值 : \n');

celldisp(temp(1));

fprintf('\n 前k个最大特征值对应的特征向量 : \n');

celldisp(temp(2));

结果





总结

MATLAB提供了eig来计算矩阵的特征值、特征向量信息。如果再结合使用MATLAB的排序函数等资源,可以综合利用来解决问题。

转自:http://blog.sina.com.cn/s/blog_725866260100rzw0.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: