【问题标题】:Vectorize function evaluation in MATLABMATLAB 中的向量化函数求值
【发布时间】:2018-11-19 00:09:26
【问题描述】:

我有以下功能,

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。

有人可以帮忙吗?

【问题讨论】:

    标签: matlab vectorization


    【解决方案1】:

    你需要元素明智的除法操作./

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

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

    【讨论】:

    • 谢谢,我尝试改用c = (a - b)/(1+a./2+b./3)
    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 2016-06-13
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2019-09-05
    相关资源
    最近更新 更多