Первое, что вам нужно сделать, @Paulo, привести в порядок вашу Mathematica , чтобы вы и мы могли видеть лес для деревьев.Например, ваш 8-й оператор:
Table[
Table [rnddf[i], {i, 1, 29}], {j, 1, 100}];
создает большую таблицу, но таблица не присваивается переменной или используется другим способом.Кажется, есть и другие утверждения, результаты которых тоже не используются.
Далее вы должны отказаться от своих циклов For
и использовать идиомы Mathematica - они понятнее для тех, кто использует Mathematica регулярно для понимания, легче для вас писать и, вероятно, более эффективно.Ваши заявления
For[i = 1, i < 31,
rnd[i] = Random[NormalDistribution[0, 0.1]]; i++]
Table[rnd[i], {i, 1, 30}]
For[i = 1, i < 30,
rnddf[i] = rnd[i + 1] - rnd[i]; i++
]
diffomega = Table [rnddf[i], {i, 1, 29}];
, если я правильно понимаю, могут быть заменены на:
diffomega = Differences[RandomReal[NormalDistribution[0,0.1],{30}]];
Всегда помните, что если вы пишете циклы в Mathematica, вы, вероятно, ошибаетесь.Следующее изменение, которое вы должны сделать, это прекратить использовать Put
и PutAppend
, пока вы не сможете собрать в памяти хотя бы небольшой пример всего вывода, который вы хотите записать.Затем запишите это в файл за один раз с помощью Save
или Export
или одной из других высокоуровневых функций ввода / вывода.
Когда вы это сделаете, отредактируйте свой код и объясните, что вы такое.пытаясь сделать, и я, и другие SOers, постараюсь помочь дальше.К сожалению, сейчас ваш код настолько не Mathematica - что у меня возникли проблемы с его выяснением.