在matlab中显示具有disp_function的斐波那契数列[关闭]

问题描述 投票:-3回答:1
我想根据其公式得出斐波那契数列:

f=((1+sqrt(5)/2).^n-(1-sqrt(5)/2).^n)/sqrt(5);

通过显示功能,不是fprintf;但是我不能。如何通过显示将其编写为以下形式:
matlab fibonacci disp
1个回答
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

    UPDATE

    如果您想申请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)

  • © www.soinside.com 2019 - 2024. All rights reserved.