在MATLAB中,給定矢量A
和B
,我想找到一個矢量化解來選擇具有最大第n個元素(即第4個)的整個矢量。如何選擇具有最大第n個元素的矢量
A = [1, 4, 8, 10];
B = [2, 15, 2, 11];
使用max
我可以找到兩個向量之間最大的第4個元素,但我想完全採用它。
C = max(A(4), B(4));
在MATLAB中,給定矢量A
和B
,我想找到一個矢量化解來選擇具有最大第n個元素(即第4個)的整個矢量。如何選擇具有最大第n個元素的矢量
A = [1, 4, 8, 10];
B = [2, 15, 2, 11];
使用max
我可以找到兩個向量之間最大的第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)
應該發生什麼,如果A(4)== B(4)? –