我在 Matlab 中编写了两个函数;一个求解输入的阶乘,另一个求解斐波那契数列的第 n 项。我现在正在尝试为每个函数制作一个脚本 - 一个将欧拉数计算为小数点后 10 位,另一个将斐波那契数的倒数计算为小数点后 10 位。
我分别为阶乘和斐波那契数列创建了以下两个函数。
function [ nfactorial ] = get_fact( n )
%input a non-negative integer
%output is factorial of that integer
for i=0:n
nfactorial=prod(1:n);
end
和
function [ F ] = get_fib( k )
if k < 0
fprintf('positive integer please')
end
k = k + 1;
F(1) = 0; % 0th Fibonacci term
F(2) = 1; % 1st Fibonacci term
F(3) = 1; % 2nd Fibonacci term
i = 4;
while k >= i
F(i) = F(i-1) + F(i-2);
i = i + 1;
end
F = F(k)
end
我将如何将这些放入脚本中?
我试过了:
for i = 0:n
e = prod(1 / get_fact( i ))
end
但这会返回错误并且显然没有设置容差,所以如果它确实有效,它将是无限的。我从未将函数放入脚本中,因此将不胜感激。