Redirecting Command Window output to stdout using mlcaller, error

Asked by Jonathan on 5 Jul 2012
Latest activity Edited by Jonathan on 7 Jul 2012

I am trying to redirect the Command Window output to stdout and stderr when running MATLAB in batch mode. I found this link that answers my question: http://www.mathworks.com/support/solutions/en/data/1-ACT3YN/index.html?product=ML&solution=1-ACT3YN

However, after following the steps, I receive an error: ??? Undefined function or variable 'myFunction'. I don't understand why I am receiving this error, because the function is defined.

Here is my code:

@echo off
echo "running..."
mlcaller "cd 'C:\Documents and Settings\My Documents\folder';myFunction('file.dat','data.txt');"
echo "complete"

0 Comments

Jonathan

Products

1 Answer

Answer by Walter Roberson on 6 Jul 2012
Accepted answer

mcaller will, if I understand correctly, be a .exe that you would invoke, and you would not invoke MATLAB yourself. mcaller will start up MATLAB and run the named command "myFunction" (which is what your .m file would have to be named.)

5 Comments

Walter Roberson on 6 Jul 2012

Is myFunction.m in your current directory?

Experiment with

mcaller "which -all myFunction"

Note: when you finally do get it finding myFunction, you will need to pass the arguments in the mcaller invocation, such as

mcaller "myFunction('file.dat','data.txt')"
Jonathan on 6 Jul 2012

When I try mcaller "which -all myFunction" the error goes away, but now standard output says "'myFunction' not found." I am sure that it is in the correct directory.

Jonathan on 6 Jul 2012

I now have tried this:

mlcaller "cd 'C:\Documents and Settings\My Documents\folder';myFunction('file.dat','data.txt');"

I do not receive any errors any more, and it runs, but it does not output anything to standard out.

Walter Roberson

Contact us