Error: Unexpected MATLAB operator on Cluster

3 views (last 30 days)
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
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
venkat K
venkat K on 20 Mar 2019
Edited: venkat K on 20 Mar 2019
sorry, basically "shortmain.m" is matlab script in which shortmain function is given. I want to execute this shortmain function on the input.expr, input.score, input.param files. "Trans" is a name I should mention which is related to files, without this the function wont work.
Should I try the way you mentioned above?

Sign in to comment.

Accepted Answer

Walter Roberson
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
venkat K
venkat K on 21 Mar 2019
Wowww thanks a lot Edric Ellis. You are absolutely right and worked without any error. Thanks a lot again.
venkat K
venkat K on 21 Mar 2019
Yes Walter Roberson, first and third of yours also worked for me. Yesterday, I tried the second and didn't try the other. Thanks a lot.

Sign in to comment.

More Answers (0)

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!