【发布时间】:2013-08-26 07:27:11
【问题描述】:
我不确定我是否正确地命名了这个问题:
我有什么:
X = [0 1 2 3 4 5 6 7 8 9; 6 2 5 5 4 5 6 3 7 6];
Z = [0 0 0 1 0 0 0 0 0 0; 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 0 0 1 0];
现在我的问题是:
我们将矩阵 X 的第二整行与矩阵 Z 进行比较(两者的列数相同,但行数可能不同) 我想要达到的结果如下:
ans = [5 5 6 7]
因为:
X(2,Z(1,:)) = 5
X(2,Z(2,:)) = 5
X(2,Z(3,:)) = 6
X(2,Z(4,:)) = 7
所以我的问题是我想在没有任何循环、单元格或匿名函数的情况下执行此操作。只需通过矢量化所有内容来缩短代码。我可以在一行中完成吗??
如果我执行以下操作,上述内容将不起作用:
X(2,Z(:,:))
【问题讨论】:
标签: matlab vectorization