用向量覆盖矩阵的所有列

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