我没有从Matlab函数得到正确的结果,所以可能我的数据安排错了。我查看了我正在使用的函数的帮助文件和输入," X"它必须采用的形式。
X行对应观察,列对应 变量
对不起,如果这是非常基本的,但我的输入矩阵究竟应该如何排列呢?
我有5个编写器,每个都有一个长度为18的特征向量(例如为了简单起见)。
所以我假设observations
表示同一作者的不同特征而variables
表示作者,因此我将输入矩阵排列为[18 x 5]
,其中每列是作家。
这个例子很简单。什么是SIFT功能?其中每个作者将生成一个特征矩阵[128 x num. of keypoints]
,对于一个图像通常变为[128 x 70]
。因此,如果我想将它们连接到输入矩阵中,我的输入矩阵将变为[128 x 350]
。
这只是输入矩阵X吗?然后在SIFT的情况下,每个变量在70列宽。
提前谢谢
答案 0 :(得分:1)
如果您的所有作者数据大小不同,我建议您使用cell()
单元格数组。 http://www.mathworks.com/help/matlab/cell-arrays.html - 这是您的参考。因此,例如,如果您需要计算协方差,则可以分别为每个矩阵执行此操作。然后您的协方差矩阵将具有相同的大小(128 * 128),因此您可以将它们放在一起并获得3D矩阵数据。
希望它会对你有所帮助。