Есть ли способ автоматически импортировать результаты или данные из Matlab в Mathematica? - PullRequest
5 голосов
/ 25 марта 2012

Есть ли способ импортировать результаты или данные (например, матрицы) из Matlab в Mathematica автоматически ?Или есть какой-либо способ запустить программу Matlab, а затем запустить программу Mathematica автоматически ?

Спасибо за любые полезные ответы!

Ответы [ 2 ]

5 голосов
/ 25 марта 2012

Существует как минимум три подхода к решению этой проблемы:

  1. «Через» Java с использованием JLink Mathematica и собственных возможностей Java Matlab.* Любая программа может быть запущена из командной строки, выполнить сценарий и вернуть вывод по мере необходимости.Обе программы могут запускать «внешние» команды и фиксировать результаты.Посмотрите, например, документацию Mathematica под заголовком Внешние программы.Matlab обладает аналогичными возможностями.

  2. Если вы работаете в Linux или аналогичной ОС, вы можете перенаправить вывод одной программы в другую.

    Трудности этих подходов различны.

2 голосов
/ 30 мая 2013

Я наткнулся на эту проблему, и после некоторых попыток мне удалось создать простой алгоритм, который работал для меня.

Сохраните вашу матрицу в Matlab, используя:

save('m','-v7','a')

m - это файл, -v7 - это версия (кто-то сказал, что она будет работать лучше, я не знаю), а - это матрица.Я не пробовал использовать более одной матрицы за раз.

Затем в Mathematica я использовал:

SetDirectory["Desktop"]
a = Import["m.mat"] ;
a=Partition[Flatten[a], 5000]

Я установил в своем каталоге расположение моего файла m.mat и импортировалЭто.В моем случае матрица была 5000 * 5000, поэтому мне пришлось разделить на части по 5000 элементов в каждой.Если у вас есть матрица N * K, попробуйте разделить на N и K, чтобы увидеть, что соответствует вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...