Reading console output

49 views (last 30 days)
Yigit
Yigit on 7 Jul 2011
Does anybody have any idea about how to use console output as input in Matlab under linux? My application continuously returns a value and prints it in integer type to system console. I am seeking for ways to input these values to Matlab and plot versus time.

Answers (2)

Lorenzo Luengo
Lorenzo Luengo on 8 Jul 2011
I would try using a fifo (in a console)
mkfifo myfifo
and then running my program from matlab using
system('myprogram > myfifo &');
and then read program output just like a normal file:
h = fopen('myfifo','r')
fscanf(format,...)
in this way you can read your program while it's running, and the fifo works like a buffer, when it's empty the fscanf returns empty variables.
I hope this helps.

Rick Rosson
Rick Rosson on 7 Jul 2011
You can execute your console application from within the MATLAB Environment by calling the system function from either the MATLAB command line or from within a MATLAB script. The system function can execute your application and will return both a status and any results.
For more information:
>> doc system
HTH.
Rick
  1 Comment
Yigit
Yigit on 7 Jul 2011
Thank you for the reply but it's not a constant value that console app returns, it's a stream of data and system() fails at this case. Any suggestions?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!