You can create a standalone to simply run the application without passing or retrieving any arguments to or from it.
However, arguments can be passed to standalone applications created using MATLAB® Compiler™ in the same way that input arguments are passed to any console-based application.
The following are example commands used to execute an application
called filename
from Windows® or Linux® command
prompt with different types of input arguments.
To Pass.... | Use This Syntax.... | Notes |
---|---|---|
A file named helpfile | filename helpfile | |
Numbers or letters | filename 1 2 3 a b c | Do not use commas or other separators between the numbers and letters you pass. |
Matrices as input | filename "[1 2 3]" "[4 5 6]" | Place double quotes around input arguments to denote a blank space. |
MATLAB variables | for k=1:10 cmd = ['filename ',num2str(k)]; system(cmd); end | To pass a MATLAB variable to a program as input, you must first convert it to a string. |
You call a standalone application that uses arguments from MATLAB with any of the following commands:
SYSTEM
DOS
UNIX
!
To pass the contents of a MATLAB variable to the program as an input, the variable must first be converted to a string. For example:
Specify the entire command to run the application as a string
(including input arguments). For example, passing the numbers and
letters 1 2 3 a b c
could be executed using the SYSTEM
command,
as follows:
system('filename 1 2 3 a b c')
You can also use the !
(bang) operator,
from within MATLAB, as follows:
!filename 1 2 3 a b c
When you use the !
(bang) operator, the
remainder of the input line is interpreted as the SYSTEM
command,
so it is not possible to use MATLAB variables.
To run a standalone application by double clicking on it, you create a batch file that calls the standalone application with the specified input arguments. For example:
rem This is main.bat file which calls rem filename.exe with input parameters filename "[1 2 3]" "[4 5 6]" @echo off pause
The last two lines of code in main.bat
are
added so that the window displaying your output stays open until you
press a key.
Once you save this file, you run your code with the arguments
specified above by double clicking on the icon for main.bat
.
When running MATLAB files that use arguments that you also plan to deploy with MATLAB Compiler, keep the following in mind:
The input arguments you pass to your executable from
a system prompt will be received as string input. Thus, if you expect
the data in a different format (for example, double), you must first
convert the string input to the required format in your MATLAB code.
For example, you can use STR2NUM
to convert the
string input to numerical data.
You cannot return values from your standalone application to the user. The only way to return values from compiled code is to either display it on the screen or store it in a file.
In order to have data displayed back to the screen, do one of the following:
Unsuppress the commands that yield your return data. Do not use semicolons to unsuppress.
Use the DISP
command to display
the variable value, then redirect the outputs to other applications
using redirects (the >
operator) or pipes (||
)
on non-Windows systems.
Taking Input Arguments and Displaying to a Screen Using a MATLAB File. Here are two ways to use a MATLAB file to take input arguments and display data to the screen: