1樓:Marcovaldo
1、使用matlab中的fibonacci(n)函式:
在matlab中fibonacci(n)返回第n個斐波那契數
clcclear all
%第23項的斐波那契數
the_23=fibonacci(23);
X=sprintf("第23項的斐波那契數:%d",the_23);
disp(X);
%前23項(包含第23項)斐波那契數列之和
sum_23=0;
for n=1:23
sum_23=sum_23+fibonacci(n);
endY=sprintf("前23項(包含第23項)斐波那契數列之和:%d",sum_23);
disp(Y);
結果:第23項的斐波那契數:28657
前23項(包含第23項)斐波那契數列之和:75024
2、手擼斐波那契數計算函式:用自己編寫的斐波那契數計算函式代替matlab中的fibonacci(n)函式
斐波那契數的計算關係式:
2.1 迭代計算
clcclear all
%第23項的斐波那契數
the_23=my_fibonacci_iteration_function(23);
X=sprintf("第23項的斐波那契數:%d",the_23);
disp(X);
%前23項(包含第23項)斐波那契數列之和
sum_23=0;
for n=1:23
sum_23=sum_23+my_fibonacci_iteration_function(n);
endY=sprintf("前23項(包含第23項)斐波那契數列之和:%d",sum_23);
disp(Y);
%迭代計算第n(i>=1 )個斐波那契數
function [Y]=my_fibonacci_iteration_function(n)
X=0; %前一項,第0項
Y=1; %後一項,第1項
for i=2:n
temp=Y; %用乙個變數記錄
Y=X+Y;
X=temp;
endend
2.2 遞迴計算
clcclear all
%第23項的斐波那契數
the_23=my_fibonacci_recursive_function(23);
X=sprintf("第23項的斐波那契數:%d",the_23);
disp(X);
%前23項(包含第23項)斐波那契數列之和
sum_23=0;
for n=1:23
sum_23=sum_23+my_fibonacci_recursive_function(n);
endY=sprintf("前23項(包含第23項)斐波那契數列之和:%d",sum_23);
disp(Y);
%遞迴計算第n(i>=1 )個斐波那契數
function [Y]=my_fibonacci_recursive_function(n)
if(n==1||n==2)
Y=1;
return
else
Y=my_fibonacci_recursive_function(n-1)+my_fibonacci_recursive_function(n-2);
return
endend
2.3 矩陣計算
計算原理:
clcclear all
%第23項的斐波那契數
the_23=my_fibonacci_matric_function(23);
X=sprintf("第23項的斐波那契數:%d",the_23);
disp(X);
%前23項(包含第23項)斐波那契數列之和
sum_23=0;
for n=1:23
sum_23=sum_23+my_fibonacci_matric_function(n);
endY=sprintf("前23項(包含第23項)斐波那契數列之和:%d",sum_23);
disp(Y);
%矩陣計算第n(i>=1 )個斐波那契數
function [Y]=my_fibonacci_matric_function(n)
M=[1,1;1,0變換矩陣
F_init=[1;1初始向量
F_result=(M^(n-2))*F_init; %計算結果向量
Y=F_result(1);
returnend
2樓:matlab愛好者
前23項序列:
sri = fibonacci(1:23)前23項序列之和:
ssri = sum(fibonacci(1:23))
用 python輸出斐波那契(Fibonacci)數列的前 20 項,要求每行輸出 5 項。?
海星星 1 end right.end eeimg 1 斐波那契數列公式如上,在Python中可以使用遞迴與遞推兩種方法求解斐波那契數列項。1.遞迴法 defFibonacci n if n 0 return 1elif n 1 return 1return Fibonacci n 1 Fibona...
為什麼下面程式遞迴計算斐波那契數列java比c 要快?
c 語言 private static IEnumerable Fibonacci Fibonacci Take 20 很簡單 z root 我是來抖機靈的 高富帥狂公升硬體矮窮矬死改演算法 long fib inta returnf Leo 試下這個 include template class ...
如何計算斐波那契數列中的第n項有多少位
Exception 一律py38招呼 lambda x len fib lambda n 1 if n 3 else fib n 1 fib n 2 x n for n in range 101 零到一百,夠了嗎?不行再改。 陳炳好 python3 作者知乎 陳炳好時間複雜度 nwhile1 a,b...