如何在MATLAB中绘制这个

时间:2012-12-08 21:11:04

标签: matlab

这就是我要做的事情:我有以下图表(称为相空间图):

Phase space diagram http://www.thestudentroom.co.uk/attachment.php?attachmentid=185627&d=1354917185

我正在关注的论文说:

  

分割信号的相空间图   进入20x20格的网格和点数c(i,j)   在一个正方形内计算以形成相空间   密度矩阵c。

我尝试了以下代码来执行上述操作:

    %%matrix(1,:) Is the first row and all columns. This row has the actual signal of  
    %interest and corresponds to the x axis of the above graph.
    and is the x axis of the above graph.
    %matrix(2,:) Is the second row and all columns and comprises of the y axis of the  
    above graph.

    for i=1:180:size(matrix,2)
        for j=1: 180 : size(matrix,2)
            if isnan(matrix(1,i))
            else
                c(1,i)=matrix(1,i);
            end

            if isnan(matrix(2,i))
            else
                c(2,i)=matrix(2,j);
            end
        end
    end

    figure,plot(c)

输出结果为:

grid http://s12.postimage.org/3wnfw9231/grid.jpg

我想得到这样的东西:

paper http://www.thestudentroom.co.uk/attachment.php?attachmentid=185629&d=1354918102

LHS是相空间图,RHS对应于我想要达到的各个图。

帮助PLZ !!!

非常感激。

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以使用功能hist3

例如

x = randn(100, 2);
hist3(x, [20 20]);

enter image description here

答案 1 :(得分:1)

也许你可能想要某种二维直方图? 在这里寻求帮助:http://blogs.mathworks.com/videos/2010/01/22/advanced-making-a-2d-or-3d-histogram-to-visualize-data-density/

您还可以查看一些2D hist函数的文件交换(我的第一次搜索给了我:http://www.mathworks.com/matlabcentral/fileexchange/1487

编辑:@ 3lectrologos具有正确的功能