Matlab - 使函数与向量和标量一起工作

时间:2015-11-04 11:11:29

标签: matlab function for-loop

我试图编写一个可以是标量和向量的函数。此函数应处理标量,列向量和行向量。我的想法是我尝试了一个for循环,但我在尝试中没有成功。

function f=funk1(x);
for i =1:length(x)
 f=exp(-3*x(i).^2)-log(x(i)+0.6)+1/(x(i)-6);
end
end

这只返回向量的最后一个值(在我的函数中),但是我希望它返回向量中的每个值。

2 个答案:

答案 0 :(得分:3)

对于这个特定的功能,您可以vectorize,即,在没有循环的情况下一次性完成所有计算。您只需要在[{"item":{"__type":"Pointer","className":"NutricaoCatalogo","objectId":"aTnHD5ttUH"},"ingredientTitle":"Clara De Ovo Natural","portionIndex":"1","portionQuantity":200}, *^运算符之前添加一个点,当在数组之间应用时(/log已经是元素方式):< / p>

exp

答案 1 :(得分:1)

你错过了f的索引。那样做;

function f=funk1(x);
for i =1:length(x)
   f(i)=exp(-3*x(i).^2)-log(x(i)+0.6)+1/(x(i)-6);
end
end