我知道在 Matlab 中你可以使用“不错”的向量运算,比如A*B
或A.*B
如果你有
A=[2, 2];
B=[3, 1];
这是逻辑,你不能使用A*B
. 您可以使用A.*B
什么是A[1]*B[1], A[2]*B[2]
和结果是[6, 2]
。
在我写的许多“脚本”中,我经常需要使用一些东西,这会导致:
[6, 6;
2, 2]
所以基本上我需要使用forcycle(类似:):
C=zeros(2,2);
for i=1:size(A,1)
C(i,:)=A*B(i);
end
我想问一下,如何(如果可能的话)在没有forcycles的情况下重写它?可能吗?这 2 个元素的 2 个向量可能不利于理解我需要什么。再举一个例子:
A=[1,2,3,4,5]
B=[2,4]
结果:
[2,4,6,8,10;
4,8,12,16,20]
简而言之,例如:
C(1:end <==== GO BY ONE ELEMENT,:)=A*B(1:end <===== GO BY ONE ELEMENT)
--> 取整个向量 A 并相乘它由 B 中的第一个元素保存并保存在矩阵中的第一行有 A 列和 B 行..
--> 取整个向量 A 并将其乘以 B 中的第二个元素并将其保存在矩阵中的第二行有 A 列和 B 行 ..
--> 取整个向量 A 并将其乘以 B 中的第三个元素,并将其保存在矩阵的第三行中,其中包含 A 列和 B 行..
--> ...
--> 取整个向量 A并将其乘以 B 中的最后一个元素,并将其保存在矩阵中的最后一行,其中包含 A 列和 B 行。