类型为“ double”的输入参数的未定义函数“ taylorexp”

时间:2018-09-14 14:02:14

标签: matlab recursion

我有一个错误

这是我在MATLAB上的代码

指数递归

     function sumac=taylorexp(x,n)



        if n==0     sumac=1; 

        else   sumac=((x^(n)/factorial(n)))+taylorexp(x^(n-1),n-1));  

        end  

        end

1 个答案:

答案 0 :(得分:0)

起初我要欢迎你。

我们的朋友@诺亚·莱文斯坦(Noah Levenstein)的回答是正确的,但我认为还需要一些补充,以至于我无法将其添加为他的回答的编辑。

  
      
  1. 肢体不匹配。使用@诺亚的答案。
  2.   
  3. 将函数保存在taylorexp.m中,然后从另一个脚本中调用它。
  4.   
  5. 请勿使用双(非整数)数字。 factorial只能与n=0,1,2,...一起使用,而不能与2.2之类的东西或6.81之类的东西一起使用。
  6.   
  7. 使用n的非整数也有另一个问题:您的递归函数永远无法满足结束条件并陷入无限循环
  8.   

我认为您的主要问题是#3或#4,但如果没有,请随时发表评论。