如何在 Mathematica 的 For 循环中索引列表元素?

How do I index list elements in For loop in Mathematica?

我不知道 Mathematica 中打印出多个 3D 图所需的语法,如以下代码所示。

For[i = 1, i <= accBeta + 1, i++,
    ListPlot3D[p3[[All, i]], PlotRange -> All, ColorFunction -> "Rainbow"]
]

这里 p3 是包含信息的列表列表,而 i 是我的计数索引。这不会 运行 出错,但输入会被忽略。你能帮我解决这个问题吗?

菲利克斯

这里实际上不需要 For 循环。例如你可以使用 Table:

Table[ListPlot3D[p3[[All,i]]], {i, 1, accBeta+1}]

那应该打印你的图。希望对您有所帮助。

Mathematica Stack Exchange 上有许多相关问题 - 通常答案是不要使用 ForDo 循环 :)

一些示例数据

p3 = Table[Sin[k j^2 + i], {i, 0, Pi, Pi/5}, {j, 0, Pi, Pi/5}, {k, 3}];

以下是等价的

Table[ListPlot3D[p3[[x]], Mesh -> None, InterpolationOrder -> 0,
  ColorFunction -> "Rainbow"], {x, Length[p3]}]

Map[ListPlot3D[#, Mesh -> None, InterpolationOrder -> 0,
   ColorFunction -> "Rainbow"] &, p3]