我将两个矩阵 A(大小为 nxn)和 B(大小为 nxm)相乘。matlab中最简单的方法是
n = 1000;
m = 500;
for k=1:n
A(k, :) = (1:n)+k;
end
B = rand(n, m);
C = A*B; % C of the size nxm
但是,当 n 和/或 m 太大时,此代码会占用太多内存。所以我正在寻找一个矢量化版本的数组来实现它
n = 1000;
m = 500;
B = rand(n, m);
func0 = @(k, colv) [(1:n)+k]*colv;
func1 = @(V) arrayfun(func0, 1:n, V);
func1(B)
但它不起作用。它说尺寸不匹配。有人有什么建议吗?