Как выполнить программу Matlab на кластере HPC с передачей данных через аргумент? - PullRequest
0 голосов
/ 30 августа 2018

У меня есть программа MATLAB, которую нужно запустить в кластере HPC. Я хочу запустить программу с передачей данных в аргументе.

addpath('path')
savepath 

% a and b need to be passed through an argument
c = addition(a,b);

fileID=fopen('test.txt','w');
fprintf(fileID,'Num\n');
fprintf(fileID,'%f\n',c);
fclose(fileID);

У меня есть два вопроса: 1. Как написать аргумент для передачи данных? 2. Как написать код в MATLAB, чтобы получить данные, переданные из аргумента?

Заранее спасибо.

1 Ответ

0 голосов
/ 30 августа 2018

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

matlab -r mymfile.m

(обратите внимание, что таким образом можно запускать только сценарии, а не Matlab functions (хотя функции могут вызываться из сценария)). Или же вы можете просто запустить чистые команды как

matlab -r 'addpath('path'),savepath,c=addition(a,b); ... , exit' 

где вы могли бы передать a и b из сценария оболочки. Если вы используете кластер / сервер linux и хотите выполнить несколько запусков параметров одного и того же сценария Matlab, можно использовать xargs .

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