在 MATLAB 中,给出向量A
和B
,我想找到一个向量化的解决方案来选择具有最大第 n 个元素(即第 4 个)的整个向量。
A = [1, 4, 8, 10];
B = [2, 15, 2, 11];
使用max
I 可以找到两个向量之间最大的第 4 个元素,但我想完全采用它。
C = max(A(4), B(4));
可以使用 的第二个返回值max
,即索引,如下:
X = [A; B];
[~, index] = max(X(:, 4));
C = X(index, :);
对于喜欢单线解决方案的人
C = A * (A(4) > B(4)) + B * (B(4) > A(4));
或者只是将其定义为一个函数
function getVectorWithLargestNthElement (A, B, N)
X = [A; B];
[~, index] = max(X(:, N));
C = X(index, :);
end
您将能够将其用作一行:
C = getVectorWithLargestNthElement (A, B, 4)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句