Sending DOS command to execute Matlab Function and getting the output back to DOS

3 次查看(过去 30 天)
Hello,
I need to have a command be sent via DOS to execute a script/function. I'm already able to do this and it opens Matlab and shows the result of the function through the Matlab Command Window. I was wondering if there was a way to display the output in DOS command prompt?
thank you and I'd greatly appreciate the help.
  2 个评论
Geoff Hayes
Geoff Hayes 2014-9-30
Michel - is it just that you want to view the output (out of curiosity) or do you want to use the output in some way?
The data can be written to a log file and you can periodically view the contents of that file (from another CMD window) using the type command followed by the log file name.
A nicer alternative would be to use a command similar to the UNIX tail -f filename which writes to the window the tail end of the file (and continually does so). There are Windows equivalents to this function...perhaps you can try one of these (unless you already have one).
Michel
Michel 2014-10-2
Hi Geoff and thanks for your comment.
The answer to your first question is actually both. What I am actually doing is sending DOS commands to Matlab via Labview. In a top level I'm controlling instruments via Labview and our Design team uses Matlab scripts for tests, so I wanted to combine both of these worlds. As such, I am sending to execute matlab scipt command via DOS through Labview, but in doing so, I have no feedback, I do get the response, but it is logged in Matlab Command Window.
Thanks! yes, I actually got as far as using -logfile command in DOS to save the result. I was hoping there was something I could use to get the result back to DOS, then the result would therefore be much easily ex tractable and used for other means. I have to think of how to read from file in Labview, I could do this, but that's more code and alterations to our current existing one that I am trying to avoid.
Thanks again for your input! Michel

请先登录,再进行评论。

回答(1 个)

Alberto
Alberto 2014-10-1
You have the command 'dos' so u can interpret some DOS command line, and catch the result of it. I extracted a few lines in the help of Matlab:
dos command
status = dos('command')
[status,result] = dos('command')
[status,result] = dos('command','-echo')
As an example:
[s, w] = dos('dir');
Is is what you needed? Good Luck
  2 个评论
Michel
Michel 2014-10-2
Thanks, I did saw this before while looking through google. I believe I need to add these lines to the pre-existing Matlab code correct? This is something that Matlab talks to DOS in other words. I have literally 100's of Matlab scripts, I do not wish to update them all :(
Alberto
Alberto 2014-10-3
With the instruction dos('dir') you can extract all files you have. Later, you can select which of them to use according to your own criteria. The selection can be done using regular expressions.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by