当名称在struct中时,如何标记多维缩放图

时间:2014-06-03 09:54:36

标签: arrays matlab plot

我使用Matlab的mdscale函数制作了一个多维缩放图。根据说明  here,这些点可以用gname函数标记。但是,他们在教程中使用的虚拟数据是我在单元格中构建的,我正在使用结构数组。

我有一个带有2个字段的1x14结构数组:扬声器和名称,我这样构建:

speaker(1).data = importdata([path,'file1']);
speaker(1).name = 'speaker 1';
speaker(2).data = importdata([path,'file2']);
speaker(2).name = 'speaker 2';

然后我从扬声器(i).data计算了距离矩阵“d”并执行了多维缩放:

[Y,stress] = mdscale(d,6,'criterion','metricstress');
plot(Y(:,1),Y(:,2),'o','LineWidth',2);
xlabel('Distance')
ylabel('Distance')
gname(speaker().name(distances))

最后一行“gname ...”是错误的,它给出了错误“多个结构元素的字段引用,后面跟着更多的引用块是一个错误。” 当我有一个结构而不是一个单元格时,我不知道如何在我的图上显示名称。有人可以帮忙吗?

编辑:

我设法将speaker()。name转换为单元格数组“names”并调用

gname(names)

现在正在运作!感谢您提供的有用评论。

0 个答案:

没有答案