Как индексировать элементы списка в цикле For в Mathematica? - PullRequest
0 голосов
/ 04 сентября 2018

Я не знаю требуемого синтаксиса в Mathematica для печати нескольких трехмерных графиков, как это предусмотрено в следующем коде.

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

Здесь p3 - список списков, содержащий информацию, в то время как я - мой счетный индекс. Это не приводит к ошибкам, но ввод просто игнорируется. Можете ли вы помочь мне в этом вопросе?

Felix

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

С некоторыми примерами данных

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]
0 голосов
/ 04 сентября 2018

Вам на самом деле не нужен цикл For здесь. Например, вы можете использовать Table:

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

Это должно напечатать ваши графики. Надеюсь, что это полезно.

На Mathematica Stack Exchange есть много связанных вопросов - обычно ответом является не использование цикла For или Do :)

...