我想从公式中得到Fibonacci序列:
1+sqrt(5)/2).^n-(1-sqrt(5)/2).^n)/sqrt(5);
通过disp函数,而不是fprintf;但我做不到。如何通过disp将其写入以下表格:f(0)= 0
f(1)= 1
f(2)= 1
f(3)= 2
- 首先,在计算Fibonacci序列时,您的代码中出现了错误,其中括号应围绕
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)