Возврат массива perl в MATLAB - PullRequest
1 голос
/ 26 июля 2010

Есть ли способ вернуть массив perl в MATLAB? Или мне просто нужно вернуть строку и разобрать ее? Я использую вызов из MATLAB для сценария perl для взаимодействия с базой данных MySQL. После того, как я получу результаты запроса, я хочу передать его обратно в MATLAB.

РЕДАКТИРОВАТЬ: Я использую модифицированную версию perl.m для вызова сценария perl. Он вызывает версию Perl с установленным мной DBI, а не копию, поставляемую с MATLAB.

Я изменил строку 65 perl.m с

perlCmd = fullfile(matlabroot, 'sys\perl\win32\bin\');

до

perlCmd = 'C:\Perl64\';

1 Ответ

1 голос
/ 26 июля 2010

как вы называете свой Perl-скрипт? если вы просто делаете системный вызов, то вы можете только вернуть строку вывода.

Вы можете посмотреть, как обернуть ваш вызов в mex-файл или записать .mat-файлы из вашего perl, но я подозреваю, что анализ строки может быть проще, особенно для небольших массивов

EDIT

думаю, что я однажды в аналогичной ситуации (должен был перенести данные в matlab) должен был создать файл .m, который создает матрицу matlab, т.е.

array = [
          1, 2, 3;
          4, 5, 6;
         ];

и сохранить на диск. когда программа была закончена, я просто вызвал m-файл, чтобы получить данные в мое рабочее пространство

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