用向量覆盖矩阵的所有列
Overwrite all columns of a matrix with a vector
我尝试在不使用 for
循环的情况下用向量覆盖我的矩阵列。这可能吗?
close all;clc; clear all;
A = pascal(5);
v = zeros(1,5);
A(1,:) = v; %// this works fine
A(:,:) = v; %// this do not work
我可以在一个命令中用向量 v
覆盖矩阵 A
中的所有列吗?
只需使用 repmat
通过重复 v
重新创建 A
A = repmat(v, size(A,1), 1)
或者在您的示例中
A = zeros(size(A))
或
A = A*0
我尝试在不使用 for
循环的情况下用向量覆盖我的矩阵列。这可能吗?
close all;clc; clear all;
A = pascal(5);
v = zeros(1,5);
A(1,:) = v; %// this works fine
A(:,:) = v; %// this do not work
我可以在一个命令中用向量 v
覆盖矩阵 A
中的所有列吗?
只需使用 repmat
通过重复 v
A
A = repmat(v, size(A,1), 1)
或者在您的示例中
A = zeros(size(A))
或
A = A*0