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

Matlab 实现矩阵的满秩分解(最大秩分解)

2015-11-24 23:02 627 查看
满秩分解的概念:



Matlab实现:

function [Final_P,Final_Q] = fullRankDecomps(A)

% 对矩阵A进行最大秩分解
B = rref(A);    %计算行最简式
[m, n] = size(A);
P(1:m,:) = 0;
Q(:,1:n) = 0;
for i = 1:m
for j = 1:n
if(B(i,j)==1.0 && sum(B(1:i-1,j))==0 && sum(B(i+1:m,j))==0)
P = [P,A(:,j)];
Q = [Q;B(i,:)];
end
end
end
Final_P = P(:,2:end);
Final_Q = Q(2:end,:);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: