我有一个错误
这是我在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
答案 0 :(得分:0)
起初我要欢迎你。
我们的朋友@诺亚·莱文斯坦(Noah Levenstein)的回答是正确的,但我认为还需要一些补充,以至于我无法将其添加为他的回答的编辑。
- 肢体不匹配。使用@诺亚的答案。
- 将函数保存在
taylorexp.m
中,然后从另一个脚本中调用它。- 请勿使用双(非整数)数字。
factorial
只能与n=0,1,2,...
一起使用,而不能与2.2
之类的东西或6.81
之类的东西一起使用。- 使用
n
的非整数也有另一个问题:您的递归函数永远无法满足结束条件并陷入无限循环
我认为您的主要问题是#3或#4,但如果没有,请随时发表评论。