Matlab GUI and slow execution

2 Ansichten (letzte 30 Tage)
Alberto Ducci
Alberto Ducci am 11 Mai 2015
Beantwortet: Jan am 12 Mai 2015
Hello, i'm writing a program that plots some data from 8 temperature sensors . the sensors are connected to the pc through the serial port and the samples arrives every 6 seconds. At start the program works as it should, but after an hour from begin of acquisition it is slower than after a few minutes. I actually do cla every cycle and don't use eval. i've also limited the use of global variables. what can i try to increase performances of my program. thank you alberto

Akzeptierte Antwort

Alfonso Nieto-Castanon
Alfonso Nieto-Castanon am 11 Mai 2015
not much we can do without seeing the code, but as you suggest one possible reason for the slowing down could be if the number of graphic objects being displayed is increasing over time (e.g. if you forgot to delete some object during each iteration). I would suggest to either try clf instead of cla, and/or check if numel(findobj(gcf)) is increasing over time. Another potential reason would be if you are accumulating some data into a non-preallocated array (so Matlab needs to reallocate bigger and bigger chuncks of continuous memory to fit that ever increasing variable)
Good luck!
  1 Kommentar
Alberto Ducci
Alberto Ducci am 12 Mai 2015
solved! thank you very much...i created every cycle a static text...after 10 minutes there were already 500!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jan
Jan am 12 Mai 2015
The profiler is the best method to identify the bottlenecks of your code. See doc profile . It is not worth to "optimize" lines, which use only 2% of teh runtime, but usually the profiler reveals, which line uses the majority of the time. Then post the relevant part of the code here - by editing your question. Please do not post important information as a comment or as a pseudo-answer.

Kategorien

Mehr zu Specifying Target for Graphics Output finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by