Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 尝试绘制递归函数时递归级别太多_Math_Plot_Maple - Fatal编程技术网

Math 尝试绘制递归函数时递归级别太多

Math 尝试绘制递归函数时递归级别太多,math,plot,maple,Math,Plot,Maple,我试图在Maple 17中绘制递归函数的图形,但我不断得到错误错误,(在f中)递归级别太多 我需要画一个x=1,…40范围内的对数图。 代码如下: with(plots); f:=x->(2.25*f(x-1)-0.5*f(x-2)); f(1):=1/3; f(2):=1/12; logplot(f(x),1..40); 我如何解决这个问题?也许我需要用迭代的形式来写,但我不知道怎么写。 非常感谢您的帮助 您的函数对浮点错误非常敏感。在计算f的值时,必须使用精确的算法。如果不这样做,

我试图在Maple 17中绘制递归函数的图形,但我不断得到错误错误,(在f中)递归级别太多

我需要画一个x=1,…40范围内的对数图。 代码如下:

with(plots); 
f:=x->(2.25*f(x-1)-0.5*f(x-2));
f(1):=1/3;
f(2):=1/12;
logplot(f(x),1..40);
我如何解决这个问题?也许我需要用迭代的形式来写,但我不知道怎么写。
非常感谢您的帮助

您的函数对浮点错误非常敏感。在计算f的值时,必须使用精确的算法。如果不这样做,则会得到负函数值,然后使用对数就没有意义了

此外,您的函数仅为整数值n定义。你必须以某种方式通知绘图命令

f:= proc(n)
option remember;
     if not n::posint then 'procname'(args)
     else 9/4*thisproc(n-1) - 1/2*thisproc(n-2)
     end if
end proc:
f(1):= 1/3:  f(2):= 1/12:
plot([seq([x,log10(f(x))], x= 1..40)]);

考虑到您的评论,如果您执行以下操作,那么您将得到一个与Matlab中得到的图形非常接近的图形

Digits:= 15:

f:= proc(n)
option remember;
     if not n::posint then 'procname'(args)
     else 2.25*thisproc(n-1) - 0.5*thisproc(n-2)
     end if
end proc:
f(1):= 1/3:  f(2):= 1/12:

f_exact:= proc(n)
option remember;
     if not n::posint then 'procname'(args)
     else 9/4*thisproc(n-1) - 1/2*thisproc(n-2)
     end if
end proc:
f_exact(1):= 1/3:  f_exact(2):= 1/12:

plots:-logplot([
      [seq([x, abs(f(x))], x= 1..40)], 
      [seq([x,f_exact(x)], x= 1..40)]
]);

我想我需要更好地解释自己:我的作业是绘制f的递归形式的图,然后将其与f的直接形式的图进行比较(这是您给出的图)。我的目标是得到这样的东西:![IMG]谢谢你的帮助!我的f是递归形式的。直接形式是通过rsolve得到的,正如你在MaplePrimes上问同样的问题时所显示的那样。我认为您练习的目标是绘制浮点形式以显示错误。但是我们不能用对数,因为函数是负数。我们可以用绝对值的对数。你是对的,我明白了。如果是这样的话,我的问题是如何在Maple中绘制我给出的图像(图像来自Matlab)中的图形?抱歉问了这么多问题,我是新来的。谢谢!非常感谢,现在它工作了。你帮了我很多,谢谢!