作业帮 > 数学 > 作业

mathematica 的问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/01 20:53:27
mathematica 的问题
g[l_] := Flatten[
Replace[l, {u_ -> {u, Mod[u - 1, 6], Mod[u + 1, 6], u}}, {1}], 1];
list1 = {0, 2, 4};
ListLinePlot[
Prepend[Accumulate[
Replace[Nest[g, list1, 2], {0 -> {1, Sqrt[3]}, 1 -> {2, 0},
2 -> {1, -Sqrt[3]}, 3 -> {-1, -Sqrt[3]}, 4 -> {-2, 0},
5 -> {-1, Sqrt[3]}}, {1}]], {0, 0}], Axes -> False,
AspectRatio -> Automatic, AxesOrigin -> {0, 0}]
koch雪花的程序,其中 Replace[l, {u_ -> {u, Mod[u - 1, 6], Mod[u + 1, 6], u}}, {1}], 1]是什么意思呢?
问题补充:就告诉我Replace最后那个{1}是什么意思就可以啦!
{1}是指定替换的层和第一层,比较简单的例子是:
Replace[1 + x^2,x^2 -> a + b,{1}]
(*1+a+b*)
Replace[1 + x^2,x^2 -> a + b]
(*1+x^2*)
这个其实和表达式的FullForm形式有关:
FullForm[1+x^2]
(*Plus[1,Power[x,2] ]*)
从这里可以看到,第一层就是Plus后的方括号里的东西,因为Replace是将规则作用于整个表达式的.
话说你要问我整段代码什么意思我说不定还不会……