如何在 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 上有许多相关问题 - 通常答案是不要使用 For
或 Do
循环 :)
一些示例数据
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]
我不知道 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 上有许多相关问题 - 通常答案是不要使用 For
或 Do
循环 :)
一些示例数据
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]