Как выполнить функцию Matlab и сохранить вывод в новый файл в Linux? - PullRequest
0 голосов
/ 18 марта 2019

Я впервые использую сценарии matlab.

У меня есть папка «example» с некоторыми входными файлами и сценариями Matlab.Это выглядит следующим образом:

example
   ├──input.score
   ├──input.param
   ├──input.expr
   ├──main.m
   ├──input.m
   ├──dist.m

Я создал сценарий оболочки test.sh для запуска main.m сценария Matlab, который имеет функцию.Имя функции: shortmain

#!/bin/bash

#SBATCH --cpus-per-task=8
#SBATCH --mem-per-cpu=4G
#SBATCH --time=05:59:59

ml MATLAB/r2016a

matlab -nodisplay -nosplash -nojvm -r "run main.m"

Мой менеджер рабочей нагрузки - Slurm, поэтому я отправил задание следующим образом:

sbatch test.sh

Это запустило функцию, присутствующую в main.m.Но я хочу выполнить эту функцию для входных файлов и сохранить выходные данные в новом файле.Ниже приведена функция, которую я хочу выполнить для входных файлов.

shortmain('input.expr', 'input.score', 'input.param', 'Trans')

Не уверен, как использовать это в сценарии оболочки и сохранить вывод в новом файле.Любая помощь приветствуется.thanq

1 Ответ

1 голос
/ 29 марта 2019

Переименуйте main.m в shortmain.m и запустите

matlab -nodisplay -nosplash -nojvm -r "shortmain('input.expr', 'input.score', 'input.param', 'Trans'); exit"
...