0

如果

a=[5 8 1 2 6 7 1 4 2 3 7 8];
b=[7 6 3 1 5 4 2 0 1 8 9 4];

然后

a1=[1 7 3] 

对应于一个矩阵,d 应该是[3 4 8]

d是对应a值的准确位置。我如何找到这个值?

4

2 回答 2

2

尝试这个:

c = []
for i = 1:length(a1)
    index = find(a == a1(i));
    c = [c, index(1)]
end

d = []
for i = 1:length(c)
    d = [d, b(c(i))]
end

输出为 [3 4 8]

希望这可以帮助。

于 2012-07-20T02:33:23.893 回答
2

作为一个单行:

arrayfun(@(x) b(find(a == x, 1, 'first')), a1)
于 2012-07-20T09:35:56.620 回答