天天看點

MATLAB執行個體:Fibonacci數列

Fibonacci數列問題:

  • 問題介紹:

    Fibonacci數列是指這樣一個數列:0,1,1,2,3,5,8,13……

    該數列的第一項為0,第二項為1,從第三項開始,每一項都是該項的前兩項之和。

    顯然,這是一個線性遞推數列,即假設F(n)為該數列的第n項,則有:

    F(n+2) = F(n+1) + F(n)

  • MATLAB程式實作
%Date:2019-9-26
%Writer:無名十三

%% 本程式的目的是輸出Fibonacci數列的前n項
function results = Fibonacci(n)      %n為正整數
if n == 1
    fprintf('Fibonacci數列的第1項為:0\n')
else if n == 2
        fprintf('Fibonacci數列的前2項為:0, 1\n')
else if n<=0 || mod(n,1)~=0
        errordlg('輸入參數不符合要求!', '警告')   %參數有誤警告
else
    fprintf('Fibonacci數列的前%d項為:\n0 1 ', n)
    F(1) = 0;  %數列前2項
    F(2) = 1;
    for i = 3:n
        F(i) = F(i-1) + F(i-2);  %核心遞推公式
        fprintf('%d ', F(i))
        if mod(i,12) == 0        %整齊輸出結果
            fprintf('\n')
        end
    end
    fprintf('\n')
    end
    end
end
%%
           
  • 結束語:本人剛開始接觸MATLAB,上述代碼根據本人了解進行編寫,如有錯誤或不妥之處,請指正!

繼續閱讀