为什么我的 Matlab 函数不接受数组?
我有以下函数:
function [ res ] = F( n )
t = 1.5;
res = 0;
if n <= 0
return;
end
for i = 0:n-1
res = res + power(-1,i)*power(t,2*i+1)/((2*i+1)*factorial(i));
end
end
我试图将一个数组传递给它,以便我可以看到数组中每个点的输出
F([2,3,4])
由于某种原因,它拒绝对整个数组起作用,只给我第一个成员的输出。 这是为什么?
编辑:如果我
res = 0;
从一开始
res = 0 + n;
res = res - n;
就更改为它确实适用于整个数组。
I have the following function:
function [ res ] = F( n )
t = 1.5;
res = 0;
if n <= 0
return;
end
for i = 0:n-1
res = res + power(-1,i)*power(t,2*i+1)/((2*i+1)*factorial(i));
end
end
I'm trying to pass an array to it so that I could see its output for every point in the array
F([2,3,4])
For some reason it refuses to act on the whole array, only giving me the output for the first member.
Why is that?
EDIT: If I change
res = 0;
at the beginning to
res = 0 + n;
res = res - n;
It does work for the whole array.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是 res 不是数组。您可以执行以下操作:
示例向量输入的结果:
The problem is res is not an array. You can do something like this:
The result for your example vector input: