Trazar una función recursiva usando pgfplots \addplot

Trazar una función recursiva usando pgfplots \addplot

¿Es posible trazar una función recursiva usando \addplotel comando pgfplots?

Lo intenté así;

\documentclass{article}
\usepackage{pgfplots}

\pgfmathdeclarefunction{fac}{1}{
  \pgfmathparse{(#1<=1)+
                (#1>1)*#1*fac(#1-1)
  }
}

\begin{document}
fac(5) is \pgfmathparse{fac(5)}\pgfmathresult

\end{document}

Pero el resultado parece ser una recursión infinita, ya que se evalúa toda la función.

Respuesta1

Terminé siguiendo la sugerencia de Heiko Oberdiek de calcular los valores externamente (en este caso usando luacode, dentro de LuaLatex):

\documentclass{article}
\usepackage{pgfplots}
\usepackage{luacode}
\begin{document}
\begin{tikzpicture} 
\begin{axis}
\begin{luacode*}
function fib(n)
    local function inner(m)
        if m < 2 then
            return m
        end
        return inner(m-1) + inner(m-2)
    end
    return inner(n)
end

local points = "";
for i=0,15,1 do
    points = points .. " (" .. i .. "," .. fib(i) .. ")";
end

tex.print("\\addplot [mark=none] coordinates { " .. points .. "};");
\end{luacode*}
\end{axis} 
\end{tikzpicture}
\end{document}

Lo que produce esto:

Resultado

información relacionada