У меня есть два очень больших вектора столбцов, A
и B
, размером ax1
и bx1
соответственно.Я хочу построить вектор C
размером (b*a)x1
, вычисляя A(i)*B(j)
для каждого i
и j
.Чтобы проиллюстрировать, что я имею в виду:
clear
a=10^3;
b=10^3;
A=randn(a,1);
B=randn(b,1);
Ctemp=zeros(a,b);
for i=1:a
for j=1:b
Ctemp(i,j)=A(i)*B(j);
end
end
C=reshape(Ctemp, a*b,1);
Вопрос: Есть ли более эффективный способ получения C
, который позволяет избежать двойного цикла?Мои настоящие a
и b
больше 10^3
.