How to make command line free while a program rans?
이전 댓글 표시
Imagine, I made a program that contineously executes loop FOR-END (a Watch, for example). I'd like to run another program while the first one is still running. However, the command line >> is busy. How to "free" it?
Of course, this is the problem of parallel computing. I am a newbile in it now. As far as I learned, there are several ways to start parallelization, either ">> pmode start" or ">> pool = parpool(2)". (I have two 'Workers').
Do I follow the right way?
After ">> pmode start" we get two-splitted Window with Lab1 and Lab2. How to submit a job to only one of them?
Looking forward,
Yevgeny
댓글 수: 7
Stephen23
2019년 8월 18일
As an alternative, just call your function from a graphics callback function.
Yevgeny Gayev
2019년 8월 18일
Walter Roberson
2019년 8월 18일
Imagine, I made a program that contineously executes loop FOR-END (a Watch, for example)
What I would imagine is that it would be better to not use a continuous loop for that purpose, and to instead use a timer() object to invoke the code periodically.
Yevgeny Gayev
2019년 8월 19일
Ted Shultz
2019년 8월 28일
One other option is to just start up another instance of matlab.
Yevgeny Gayev
2019년 8월 29일
"Do you mean to make a GUI-envelope, Stephen?"
I have no idea what a "GUI-envelope" is.
I often use graphics callbacks to run code, thus keeping the command line "free" for me to do other things. Of course this requires writing a small GUI, but that is not very difficult.
"I tried this way, no succes."
As you did not show what you tried it is difficult for us to help you fix it.
"May be, I should use OOP-features in MATLAB?"
I don't see how OOP is related to the topic you are asking about.
채택된 답변
추가 답변 (3개)
Jason Ross
2019년 8월 29일
1 개 추천
You can use the batch function to send work to a parallel worker and then retrieve the results later. While the batch job is running, the command prompt is freed. If you want to send the job to only one worker you can specify that in the batch command.
댓글 수: 1
Walter Roberson
2019년 8월 29일
Also I forgot about parfeval()
Chidvi Modala
2019년 8월 29일
0 개 추천
To submit a job to only one of the window, pmode is not the best fit. The commands you type at the pmode prompt in the Parallel Command Window are executed on all workers at the same time.
You can refer to following link to get more information
Yevgeny Gayev
2019년 8월 30일
0 개 추천
댓글 수: 2
Yevgeny Gayev
2019년 9월 17일
Walter Roberson
2019년 9월 17일
Timers can interrupt the currently executing code at the end of any line of MATLAB code. They do not use a different thread for execution of the MATLAB code. It is not impossible that there is a different thread associated with scheduling them -- that would be an internal detail not exposed to the user.
You cannot set executionmode of a timer that is started. To change the execution mode of a timer, you must stop() the timer.
카테고리
도움말 센터 및 File Exchange에서 Graphics Performance에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!