How to run MATLAB files in batch mode (or as a batch process). Guide request.

190 次查看(过去 30 天)
Hello, my problem can likely be resolved with a simple guide. Unfortunately I simply haven't been able to find one. I've only used MATLAB in interactive mode and have no experience with running anything in batch mode or as a batch proccess. So that said, could someone point me to a guide (or two, reading more never hurts) that could walk me through the steps I need to take?

回答(4 个)

Walter Roberson
Walter Roberson 2012-6-20
matlab -r "statement"
The statement should be the bit of MATLAB code you want to execute.
I recommend
matlab -noFigureWindows -r "try; run('C:\Path\To\YourScriptName.m'); catch; end; quit"
To be safe, YourScriptName.m should have instructions to cd() to the directory it is to work in.
run() cannot be used with functions, only with scripts. For functions,
matlab -noFigureWindows -r "try; cd('C:\Path\To\'); YourFunctionName(); catch; end; quit"
The above commands could be put into a .bat file, and could be invoked from any directory (because the mini-script changes directory.)
  1 个评论
Alfonso
Alfonso 2012-6-20
Walter, I think you are spot on. I learned a bit more about batch files last night. I've included the recommended line in a batch file I wrote in notepad. It's running the script and the script is running the functions like normal. Now to check with my supervisor if this was the desired result.

请先登录,再进行评论。


per isakson
per isakson 2012-6-19
The name of the guide is the online documentation. It includes many examples and demos. Your question puzzles me
  1. what do you understand with "batch"?
  2. do you know "function" and "script" in Matlab?
Search for "Programming Fundamentals" and "Working with Functions in Files" in the online documentation.
See: Demos | Getting Started | Writing a MATLAB Program (5 min, 45 sec)
If you want to invoke Matlab from a "dos batch file" see:
Start MATLAB program (Windows platforms)
Syntax
matlab helpOption
matlab -automation
....
  2 个评论
Walter Roberson
Walter Roberson 2012-6-19
"batch" can also refer to a mode for use with distributed computing.
Be sure to see the -r switch (or is it /r on Windows?) to indicate which .m file to begin.
Alfonso
Alfonso 2012-6-19
If its in the documentation sorry to waste people time. I look around but didn't see the answers I was looking for. Perhaps my search wording was poor or I simply didn't recognize the solution in front of my face.
1) I don't have a clear understanding of batch. I am an intern writing a script that reads an *.xls, calls a few functions, and writes another *.xls. I have only used MATLAB in its interactive mode in the past. My supervisor wants me to get this script running in "batch mode". As far as i understand, that is to get my script in a state/filetype where i don't need to open MATLAB interactively to run it, but it will call the functions and libraries it need from MATLAB. I suppose its some type of complied version of an m-file?
2) I feel I have a good understanding of those. I wrote the script and functions that i want to get running in "batch mode". Admitedly they aren't bullet proofed yet, but so long as you supply the data correctly they work fine in interactive mode.
The end goal in to run this script and associated functions in an Isight loop. I think walter may be along the right idea of what I am trying to do.
I'll check out your suggestions and get back to you.

请先登录,再进行评论。


Ricky
Ricky 2012-6-20
hey Alfonso,
I'm not sure if this what you're after. Read the first part of it (don't worry about the grid part)

MHS
MHS 2018-5-18
Hi Everyone ! I have several .m files which take a lot of time to execute, I intend to execute sequentially those .m files while saving the workspace variables for each m-file. Do I need to write a batch file to do this while I am away and I can run the batch file which calls the m-files sequentially. Can anyone guide me how to do that for simple m-files . Will appreciate any help in this regard Maqsood

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by