我在Matlab中編寫了兩個函數;一個求解輸入的階乘,另一個求解斐波那契數列的第n項。我現在正在爲每個函數設計一個腳本 - 一個計算歐拉數到10位小數,另一個計算互惠斐波那契數到10位小數。歐拉和斐波那契的近似腳本
我已經創建了階乘和Fibonacci序列以下兩個函數,分別。
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
但這返回的錯誤,顯然已經無法容忍設定,所以如果它的工作,這將是無限的。我從來沒有把一個函數放入腳本,所以任何幫助將不勝感激。
你參加過這個matlab作業嗎?你的代碼有一些嚴重的語義問題。 –
是的,我在那裏每班。一個函數或腳本的例子從來沒有在課堂上顯示......但這是分配的。 –
那麼,*語法*你的功能會正常工作,所以你的腳本調用。問題在於*這些功能在多個層面上做錯了*。所以:如果你在每個班上都有,他們有沒有教過你什麼?如果他們教你什麼,你有沒有學過什麼? **提示**:如果你在'i'上的循環不包含任何'i',那麼你可能做錯了什麼。 –