Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
[MATLAB][GUI] repetare acțiune
Last Updated: Mar 12 2014 15:01, Started by
dan-s
, Feb 11 2014 08:41
·
0
#1
Posted 11 February 2014 - 08:41
Am următoarea problemă. Lucrez la o aplicație cu GUI în Matlab. Și aș vrea ca anumite valori să se modifice în funcție de modificarea anumitor parametri dintr-un echipament ( fără să apăs vreun buton). Problema este că nu știu cum pot face asta în GUI de la Matlab. În ce funcție/event ar trebui să pun codul de a citi datele de la echipament astfel încât să se repete tot timpul acel cod? Sper că m-am făcut explicit. Mulțumesc anticipat.
|
#2
Posted 12 March 2014 - 15:01
Văd că nu a răspuns nimeni așa că voi da tot eu răspunsul în caz că mai apare cineva curios de așa ceva. Se folosește un timer care este declarat în callback-ul OpeningFcn al form-ului. Se pot acolo specifica mai mulți parametrii pentru acel timer printre care și ce funcție să se apeleze tot timpul precum și la ce interval de timp să se reapeleze acea funcție. După asta se pornește timer-ul în fiecare callback ce ar putea fi folosit ( bineînțeles testând într-o condiție dacă proprietatea Runing al timer-ului este off ).
Câteva link-uri ce mi s-au părut folositoare: http://www.mathworks...imer-class.html http://www.mathworks...vals-guide.html http://stackoverflow...y-update-graphs Un exemplu: function fct(obj, event, handles) global sir; global contor; global xarr; param = fcomm(); param.get_PV(); contor = contor + 1; xarr = [xarr contor]; sir = [sir param.send]; function app_gui_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to app_gui (see VARARGIN) %get initial data global sir; global contor; global xarr; contor = 0; xarr = 0; sir = 0; handles.timer = timer ('ExecutionMode', 'fixedRate', 'TimerFcn', {@fct, handles}, 'Period', 3); start(handles.timer); % Choose default command line output for app_gui handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes app_gui wait for user response (see UIRESUME) % uiwait(handles.figure1); function execute_Callback(hObject, eventdata, handles) % hObject handle to execute (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if strcmp(get(handles.timer, 'Running'), 'off') start(handles.timer); end În codul de mai sus avem callback-ul apelat de timer-ul creat de mine cu numele fct. După cum se vede în OpeningFcn este declarat timer-ul și apoi este apelat cu start(handles.timer). Mai există un apel și în callback pentru un buton care are tag-ul execute ( bineînțeles că acolo e pusă și condiția ca să nu fie activat un alt timer între timp). |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users