绘制矩阵的密度

时间:2013-06-19 23:12:02

标签: matlab

美好的一天,

在Matlab中我有一个非常稀疏的矩阵。现在我想绘制密度'矩阵我们假设我有一个矩阵A:

A = [3 0 0
     0 2 0
     0 0 1];

现在情节看起来应该是这样的:

x  
  x  
    x

所以在每个位置(行,列)都应该有一个点(或其他),其中矩阵A具有非零值。

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

spy就是您所需要的:

% taken from MatLab documentation
B = bucky;
spy(B)

答案 1 :(得分:1)

考虑这样的事情:

subs = zeros(0,2);
for ind = [find(A)']
    [r,c] = ind2sub(size(A), ind);
    subs = [subs; [r,c]];
end

scatter(subs(:,2), subs(:,1));
set(gca,'YDir','Reverse')
xlim([1 size(A,2)])
ylim([1 size(A,1)])

其中,对于矩阵A:

 0     1     0     1     1
 0     0     0     0     0
 0     1     0     0     0
 0     1     0     1     1
 0     0     1     1     0

为您提供以下散点图:

enter image description here

答案 2 :(得分:0)

这个怎么样:

A=[3 0 0; 0 2 0; 0 0 1];
imagesc(A)