У меня есть данные (точки), которые я должен импортировать от другой программы до Mathematica, таким образом, я могу вывести его на печать. Я имею контроль о том, как точки будут записанными в файл, таким образом, я могу поместить их всегда, я хочу. Что лучший способ состоит в том, чтобы импортировать их в Mathematica? Когда я собираюсь использовать StreamDensityPlot, переменная, которую я должен буду передать StreamDensityPlot, должна будет быть следующим образом:
data = {
{
{ a, b, c }, {a, b, c}, {a, b, c},
{ a, b, c }, {a, b, c}, {a, b, c},
{ a, b, c }, {a, b, c}, {a, b, c},
}
...
{
{ a, b, c }, {a, b, c}, {a, b, c},
{ a, b, c }, {a, b, c}, {a, b, c},
{ a, b, c }, {a, b, c}, {a, b, c},
}
}
Как был бы Вы совет меня для помещения данных в промежуточный текстовый файл? И что я должен использовать для импорта его? Я попробовал Импорт ["mytext.txt", "Список"], имея мой текстовый файл с чем-то в форме, показанной выше, но это кажется, поскольку Mathematica рассматривает вопросы как строки, и я ничего не могу сделать с ними. Существует ли способ преобразовать строки в произвольные данные, как возможно на других языках (если они допустимы в том новом типе данных)?
Резюме:
Спасибо
Преобразование строк в выражения производится с помощью ToExpression . Если у вас обычный текстовый файл foo.txt, с форматированием, как в вашем примере, то просто импортируйте его в систему Mathematica с помощью Get, т.е. << /path/to/foo.txt;
будет импортировать и оценивать данные
так, как вам нужно, нет необходимости в переводе текста для выражения.
Попробуйте отформатировать файл данных следующим образом:
A, B, C, A, B, C, A, B, C
A, B, C, A, B, C, A, B, C
A, B, C, A, B, C, A, B, C
...
Таким образом, вы можете использовать импорт CSV в Mathematica. Затем после импорта разделите каждую строку на список точек.
Partition[#, 3]& /@ Import["file.csv", "CSV"]
Также имейте в виду, что Mathematica использует научную нотацию иначе, чем C (или любой другой язык, который вы используете для записи файла данных.