我有以下功能,
function Vectorize()
a = randn(1,5)
b = randn(1,5)
c = zeros(1,5)
for i=1:5
c(i) = (a(i) - b(i))/(1+a(i)/2+b(i)/3)
end
我想对上面的函数求值进行矢量化,并替换for
循环。
我可以做c = a -b
,它可以找到两个行向量之间的差。我不知道如何处理a/2和b/2部分。
有人能帮忙吗?
您需要元素分割操作./
c = (a - b)./(1+a/2+b/3)
如果将矢量除以标量,这不是必需的,但如果将数组除以数组,则必须在您的情况下使用./
。有关其他元素运算符,请参见此处。