Error: Unexpected MATLAB operator on Cluster
3 views (last 30 days)
Show older comments
Hi Everyone,
I'm very new to matlab programming language.
I have a directory "example_first" in which there are few matlab scripts and some input files on which I want to run the functions given in matlab scripts.
example_first
├──input.score
├──input.param
├──input.expr
├──shortmain.m
├──input.m
├──dist.m
I'm using linux terminal and on cluster (workload manager is Slurm) I created a shell script like below to submit the job.
#!/bin/bash
#SBATCH --cpus-per-task=8
#SBATCH --mem-per-cpu=4G
#SBATCH --time=05:59:59
cd /home/documents/example_first
ml MATLAB/r2016a
matlab -nodisplay -nosplash -nojvm -r "run shortmain.m"
matlab -r 'shortmain(/home/documents/example_first/input.expr, /home/documents/example_first/input.score, /home/documents/example_first/input.param, Trans)'
Submitted the job like this:
sbatch test.sh
In the slurm.out file I see like following:
MATLAB is selecting SOFTWARE OPENGL rendering.
Opening log file: /home/java.log.41769
< M A T L A B (R) >
Copyright 1984-2016 The MathWorks, Inc.
R2016a (9.0.0.341360) 64-bit (glnxa64)
February 11, 2016
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
Academic License
shortmain(/home/documents/example_first/input.expr, /home/documents/example_first/input.score, /home/documents/example_first/input.param, Trans)
|
Error: Unexpected MATLAB operator.
Can anyone please help me how to resolve this error. This is the first time I'm using matlab.
Any help is appreciated. thanq.
2 Comments
lu wang
on 20 Mar 2019
My guess is that it might related to how you pass the variables to your function inside the batch.
what is the Trans in your last function variable?
your code:
matlab -nodisplay -nosplash -nojvm -r "run shortmain.m"
matlab -r 'shortmain(/home/documents/example_first/input.expr, /home/documents/example_first/input.score, /home/documents/example_first/input.param, Trans)'
try this :
matlab -nodisplay -nosplash -nojvm -r "shortmain"
and put the path inside your shortmain.m by:
addpath('/home/documents/example_first/')
open and load the input.score, input.param inside the shortmain.m
hope this helps
Lu
Accepted Answer
Walter Roberson
on 20 Mar 2019
matlab -r 'shortmain(''/home/documents/example_first/input.expr'', ''/home/documents/example_first/input.score'', ''/home/documents/example_first/input.param'', ''Trans'')'
or
matlab -r 'shortmain("/home/documents/example_first/input.expr", "/home/documents/example_first/input.score", "/home/documents/example_first/input.param", "Trans")'
or
matlab -r "shortmain('/home/documents/example_first/input.expr', '/home/documents/example_first/input.score', '/home/documents/example_first/input.param', 'Trans')"
5 Comments
More Answers (0)
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!