MATLAB中的矢量化函数求值

MATLAB中的矢量化函数求值,matlab,vectorization,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除法 有人能帮忙吗?您需要按元素进行除法操作/ c = (a - b)./(1+a/2+b/3) 如果将向量除以标量,这不

我有以下功能

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)

如果将向量除以标量,这不是必需的,但是如果将数组除以数组,则必须在本例中使用
/
。有关其他元素运算符,请参见

谢谢,我是在尝试
c=(a-b)/(1+a./2+b./3)