寻找迭代映射的不动点

发布于 2024-10-30 09:30:24 字数 323 浏览 1 评论 0原文

我需要找到迭代映射的不动点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]

I need to find fixed points of iterative map x[n] == 1/2 x[n-1]^2 - Mu.
My approach:

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]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

那些过往 2024-11-06 09:30:24

我会稍微改变一下符号(主要是为了我自己能理解)。你可能想要这样的东西。

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]}}

丹尼尔·利希特布劳

I'll change notation slightly (mostly so I myself can understand it). You might want something like this.

y[n_, mu_, x_] := Nest[#^2/2 - mu &, x, n]
fixedPoints[n_] := Solve[y[n, mu, x] == x, x]

The salient feature is that the "function" being nested now really is a function, in correct format.

Example:

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

乱世争霸 2024-11-06 09:30:24

首先,你的方法有一个错误。 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]}}

First of all, there is an error in your approach. Nest takes a pure function. Also I would use exact input, i.e. 1/2 instead of 0.5 since Solve is a symbolic rather than numeric solver.

Subscript[g, n_Integer][Mu_, x_] := Nest[Function[z, 1/2 z^2 - Mu], x, n]

Then

In[17]:= fixedPoints[1]

Out[17]= {{x -> 1 - Sqrt[1 + 2 Mu]}, {x -> 1 + Sqrt[1 + 2 Mu]}}
燃情 2024-11-06 09:30:24

旁注:

看看当你开始非常接近固定点时会发生什么(奇怪:):

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}]  

在此处输入图像描述

< strong>编辑

事实上,你似乎有一个自动相似的结构:

在此处输入图像描述

A side note:

Look what happens when you start very near to a fixed point (weird :) :

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}]  

enter image description here

Edit

In fact, it seems you have an autosimilar structure there:

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文