その式からフィボナッチ数列を求めたい:
1+sqrt(5)/2).^n-(1-sqrt(5)/2).^n)/sqrt(5);
fprintfではなくdisp関数で;しかし、できませんでした。以下のフォームにdispでどのように書くことができますか:
f(0)= 0
f(1)= 1
f(2)= 1
f(3)= 2
1+sqrt(5)
、1-sqrt(5)
;
、式の末尾を削除できます。f = ...
f
例
n = 1:10;
f=(((1+sqrt(5))/2).^n-((1-sqrt(5))/2).^n)/sqrt(5)
そのような
f =
1.0000 1.0000 2.0000 3.0000 5.0000 8.0000 13.0000 21.0000 34.0000
または以下のような表示結果
for n = 1:10
f=(((1+sqrt(5))/2).^n-((1-sqrt(5))/2).^n)/sqrt(5);
disp(['F(',num2str(n-1),')=',num2str(f)]);
end
そのような
F(0)=1
F(1)=1
F(2)=2
F(3)=3
F(4)=5
F(5)=8
F(6)=13
F(7)=21
F(8)=34
F(9)=55
アップデート
申請したい場合はarrayfun
、以下のコードを使用できます
a =input('n:');
n = 1:a;
fdisp = @(n) disp(['F(',num2str(n-1),')=',num2str((((1+sqrt(5))/2).^n-((1-sqrt(5))/2).^n)/sqrt(5))]);
arrayfun(fdisp,n)