How can I run a MATLAB function using Windows Command Prompt and providing input for the function?
이전 댓글 표시
Hello,
I am trying to execute an .m file containing a function using the Windows command prompt. The function has 3 inputs, how can I execute the file while providing the data for the inputs using the command prompt?
Thank you,
답변 (1개)
Geoff Hayes
2018년 9월 4일
0 개 추천
댓글 수: 8
mPayns
2018년 9월 4일
Steven Lord
2018년 9월 4일
matlab -r "y = plus(1, 2)"
This will start a fresh MATLAB session and execute the command y = plus(1, 2).
Hi, I am wondering if it would be possible to pass in a variable as an argument. For example, is there a way to do something sort of like this:
x = 2
z = 23
matlab -r "y = plus(x, z)"
?
edit: For context, I'm not trying to do this in the command prompt, I'm trying to do this inside a script so it'd be something like:
x = 2
z = 23
!matlab -r "y = plus(x, z)"
Steven Lord
2019년 7월 18일
Given what you wrote in your edit, the bang operator (!) is the wrong tool to use. Build the command you want to execute and pass it into the system function. For example, since x and z are integer values:
x = 2;
z = 23;
commandToRun = sprintf('matlab -r "y = plus(%d, %d)"', x, z)
system(commandToRun)
Though if you're trying to run a non-interactive command and you're using release R2019a or later, prefer using the -batch startup option.
Walter Roberson
2019년 7월 18일
athi123 could you clarify if you want to do this in a matlab script to start an external command, or if you want to do this from a .bat file or Unix shell script?
athi123
2019년 7월 19일
Yes sorry, matlab script
I think what Steven told me should work, thanks!
Mitchell Herndon
2019년 10월 24일
편집: Mitchell Herndon
2019년 10월 24일
How could you format the -r statement to include a try/catch?
Such as
matlab -r "try (code) catch ME (code) end"
Walter Roberson
2019년 10월 25일
matlab -r "try (code); catch ME; (code); end"
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!