我需要找到迭代地图x[n] == 1/2 x[n-1]^2 - Mu
的固定点
我的方法:
Subscript[g, n_ ][Mu_, x_] := Nest[0.5 * x^2 - Mu, x, n]
fixedPoints[n_] := Solve[Subscript[g, n][Mu, x] == x, x]
Plot[
Evaluate[{x,
Table[Subscript[g, 1][Mu, x], {Mu, 0.5, 4, 0.5}]}
], {x, 0, 0.5}, Frame -> True]
答案 0 :(得分:4)
我会略微改变符号(大多数情况下我自己都可以理解)。你可能想要这样的东西。
y[n_, mu_, x_] := Nest[#^2/2 - mu &, x, n]
fixedPoints[n_] := Solve[y[n, mu, x] == x, x]
显着特征是现在嵌套的“函数”确实是一个函数,格式正确。
示例:
fixedPoints[2]
Out[18]= {{x -> -1 - Sqrt[-3 + 2*mu]},
{x -> -1 + Sqrt[-3 + 2*mu]},
{x -> 1 - Sqrt[ 1 + 2*mu]},
{x -> 1 + Sqrt[ 1 + 2*mu]}}
Daniel Lichtblau
答案 1 :(得分:3)
首先,您的方法存在错误。 Nest具有纯粹的功能。我也会使用精确输入,即1/2而不是0.5,因为Solve是一个符号而不是数值求解器。
Subscript[g, n_Integer][Mu_, x_] := Nest[Function[z, 1/2 z^2 - Mu], x, n]
然后
In[17]:= fixedPoints[1]
Out[17]= {{x -> 1 - Sqrt[1 + 2 Mu]}, {x -> 1 + Sqrt[1 + 2 Mu]}}
答案 2 :(得分:0)
旁注:
看看当你开始非常接近固定点时会发生什么(奇怪的:):
f[z_, Mu_, n_] := Abs[N@Nest[1/2 #^2 - Mu &, z, n] - z]
g[mu_] := f[1 + Sqrt[1 + 2*mu] - mu 10^-8, mu, 10^4]
Plot[g[mu], {mu, 0, 3}, PlotRange -> {0, 7}]
修改强>
事实上,你似乎有一个自动相似结构: