0

这就是我想要做的:我有下图(称为相空间图):

相空间图 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)

输出是:

网格

我打算得到这样的东西:

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

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

请帮忙!!!

将不胜感激。

谢谢!

4

2 回答 2

4

你可以使用函数hist3

例如

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

在此处输入图像描述

于 2012-12-09T00:47:56.153 回答
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 具有正确的功能

于 2012-12-09T00:51:58.673 回答