MATLAB中的矢量化函数评估



我有以下功能,

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)

如果将矢量除以标量,这不是必需的,但如果将数组除以数组,则必须在您的情况下使用./。有关其他元素运算符,请参见此处。

相关内容

  • 没有找到相关文章

最新更新