필터 지우기
필터 지우기

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

조회 수: 190 (최근 30일)
Alfonso
Alfonso 2012년 6월 19일
답변: MHS 2018년 5월 18일
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