公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
2.2k 浏览
比如matrix67博客里提到的这种, http://www.matrix67.com/blog/archives/500

能否用CellularAutomaton来做?我对这个函数不太了解
用户: 孺子剑牛不群 (216 分)
好像完全不是一回事的东西啊。。。RandomChoice+NestList很简单就做出来了。
我是看到了这个例子就可以,
ListPlot@ReIm@NestList[(# + RandomChoice@{0, 1, Exp[I Pi/3]})/2 &, 0., 10^4]
ArrayPlot@CellularAutomaton[{Mod[#[[1]] + #[[3]], 2] &, {}, 1}, {{1}, 0}, 100]
这两个代码的思路、想法、结果并不相同,尽管从图形上看有点类似。

1个回答

+2 投票
 
已采纳
ListPlot@ReIm@NestList[(# + RandomChoice@{0, 1, Exp[I Pi/3]})/2 &, 0., 10^4]
ArrayPlot@CellularAutomaton[{Mod[#[[1]] + #[[3]], 2] &, {}, 1}, {{1}, 0}, 100]

这两个图从结果上看好像很像,但是至少目前我的水平没看出来两者之间的联系。

第一句话有点类似于随机游走(带限定条件),但是除了游走,每次还要距离折半。可以类似的产生一些有意思的图片,例如:

data = ReIm@
   NestList[(# + RandomChoice@{0, 1, Exp[I Pi/4], Exp[I Pi/3]})/2 &, 0., 10000];
ListPlot[data, PlotStyle -> {Blue, PlotPoints[0.0001]}]

第二句话是元胞自动机,通俗的说就是有一个初始状态,有确定的局部规则,然后根据规则作同步更新。例如下面这个例子,根据相邻三个格子的状态,对中间格子进行状态更新。

CellularAutomaton[{f, {}, 1}, {a, b, c, d}, 2]

强行用CellularAutomaton画那个图,也不是不行,但是麻烦。首先参考下面这个语句。

CellularAutomaton[{f, {}, 1/2}, {a, b}, 2]
(*{{a, b}, {f[{b, a}, 1], f[{a, b}, 1]}, {f[{f[{a, b}, 1], f[{b, a}, 1]}, 2], 
  f[{f[{b, a}, 1], f[{a, b}, 1]}, 2]}}*)

然后就可以改成相应的代码了。

getRand := RandomChoice[{0.85, 0.06, 0.08, 0.01} -> {
     {{0.83, 0.03}, {-0.03, 0.86}}.# + {0, 1.5} &,
     {{0.2, -0.25}, {0.21, 0.23}}.# + {0, 1.5} &,
     {{-0.15, 0.27}, {0.25, 0.26}}.# + {0, 0.45} &,
     {{0, 0}, {0, 0.17}}.# &
     }];
n = 0;
getPos[{x_, y_}, a_] := If[EvenQ@n,
  rand = getRand; n++; First@rand[{y, x}],
  n++; Last@rand[{x, y}]
  ]
ListPlot@CellularAutomaton[{getPos, {}, 1/2}, {0., 0.}, 10000]

用户: 苹果 (2.2k 分)
采纳于 用户:孺子剑牛不群
...