Как вызвать функции MATLAB из командной строки Linux?

В основном я имею m файл, который похож

function Z=myfunc()
    % Do some calculations
    dlmwrite('result.out',Z,',');
end

Я просто хочу выполнить его из командной строки, не входя в MATLAB. Я попробовал несколько опций (-nodisplay, -nodesktop, -nojvm, -r, и т.д.), ни один из них не работал. Я заканчиваю тем, что вошел в MATLAB и должен ввести "выход" для выхода.

Каково решение?

30
задан Peter Mortensen 23 April 2012 в 07:08
поделиться

3 ответа

MATLAB может выполнять скрипты, но не функции из командной строки. Вот что я делаю:

Файл matlab_batcher.sh:

#!/bin/sh

matlab_exec=matlab
X="${1}(${2})"
echo ${X} > matlab_command_${2}.m
cat matlab_command_${2}.m
${matlab_exec} -nojvm -nodisplay -nosplash < matlab_command_${2}.m
rm matlab_command_${2}.m

Вызовите его, введя:

./matlab_batcher.sh myfunction myinput
25
ответ дан 27 November 2019 в 23:32
поделиться

Используйте:

matlab -nosplash -nodesktop -logfile remoteAutocode.log -r matlabCommand

Убедитесь, что последняя строка matlabCommand имеет выход.

20
ответ дан 27 November 2019 в 23:32
поделиться
nohup matlab -nodisplay -nodesktop -nojvm -nosplash -r script.m > output &
1
ответ дан 27 November 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: