MATLAB中的向量化函数评估

时间:2018-11-18 16:03:45

标签: matlab vectorization

我具有以下功能

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的除法。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您需要按元素进行明智的除法操作./

c = (a - b)./(1+a/2+b/3)

如果将向量除以标量,则不需要这样做,但是如果将数组除以数组,则必须使用./。有关其他元素明智的运算符,请参见here