请允许我使用以下示例: How do i replace all elements of a vector with a scalar
说:
我有一个矢量(或数组)
A = [2 3 4; 1 3 2]
我想用最后一个元素替换每一行的所有元素。下面的代码按照OP的建议工作。
for ii = 1: size(A, 1)
B(ii,:) = A(ii,3)
end
返回:B = [4; 2]
。但是,在我的情况下,我想检索结果,使原始变量A(而不是B)返回为A = [4; 2]
。我尝试将 B 复制回 A ,但它为我提供了原始数组A
而非预期结果。
答案 0 :(得分:0)
您应该能够在循环
之后将B
分配给A
for ii = 1:size(A, 1)
B(ii, :) = A(ii, end);
end
A = B;
或者您可以将循环全部移除,然后抓住A
A = A(:, end);
如果您要替换A
每行的所有元素,而您可以使用每行的最后一列中的值:
A = A(:, repmat(end, [1, size(A, 2)]));