tsoler Δημοσ. 14 Ιουλίου 2005 Δημοσ. 14 Ιουλίου 2005 gia sas! exw grapsei ena programma (se MATLAB) sto opoio xrisimopoiw ena for loop gia na stelnw alla kai na diavazw apo thn seiriakh. mesw enos diakopth ksekinaw h stamataw to loop. orismenes fores omws otan stamataw thn ektelesh tou loop parathrw apo ton task manager oti to programma mou apasxolei thn cpu sto 100% xwris ekeinh thn stigmh na kanei tpt. mhpws kserei ti mporei na sumbainei? thanks
NoD Δημοσ. 14 Ιουλίου 2005 Δημοσ. 14 Ιουλίου 2005 Δεν γνωρίζω να απαντήσω ακριβώς σε αυτό που ρωτάς,πάντως καλό είναι σε matlab να αποφεύγονται τα for-loops,όπου αυτό είναι εφικτό βέβαια.Αν θέλεις,πόσταρε τον συγκεκριμένο μέρος του κώδικα σου.
Maniakos Δημοσ. 14 Ιουλίου 2005 Δημοσ. 14 Ιουλίου 2005 πάντως καλό είναι σε matlab να αποφεύγονται τα for-loops,όπου αυτό είναι εφικτό βέβαια.Αν θέλεις,πόσταρε τον συγκεκριμένο μέρος του κώδικα σου. Aπό περιέργεια, μήπως θα μπορούσες να μας πείς γιατι πιστεύεις κάτι τέτοιο για τα κακόμοιρα for loops?
tsoler Δημοσ. 14 Ιουλίου 2005 Μέλος Δημοσ. 14 Ιουλίου 2005 nomizw oti stamataei. tha epanelthw avrio to prwi me to epimaxo kommati tou kwdika. thanks
tsoler Δημοσ. 15 Ιουλίου 2005 Μέλος Δημοσ. 15 Ιουλίου 2005 loipon, na kai o kwdikas....to radiobutton einai o diakopths mou pou brisketai se ena gui pou exw ftiaksei. function radiobutton1_Callback(hObject, eventdata, handles) % hObject handle to radiobutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global X; global button_state global tim % Hint: get(hObject,'Value') returns toggle state of radiobutton1 button_state = get(handles.radiobutton1,'Value'); if button_state == get(handles.radiobutton1,'Max') set(X,'timeout',0.5); fopen(X); fprintf(X,'\0U'); tim=timer; set(tim,'ExecutionMode','fixedSpacing','TimerFcn',{@mycallback, handles},'Period',5); start(tim); tic for i=0:inf if button_state==get(handles.radiobutton1,'Min') break else fprintf(X,'83J'); end if button_state==get(handles.radiobutton1,'Min') break else set(handles.activex4,'value',str2num(fgetl(X))*0.4647); end if button_state==get(handles.radiobutton1,'Min') break else fprintf(X,'95J'); end if button_state==get(handles.radiobutton1,'Min') break else set(handles.activex5,'value',str2num(fgetl(X))*0.4647); end if button_state==get(handles.radiobutton1,'Min') break else fprintf(X,'89J'); end if button_state==get(handles.radiobutton1,'Min') break else set(handles.activex6,'value',str2num(fgetl(X))*0.4647); end if button_state==get(handles.radiobutton1,'Min') break else fprintf(X,'77J'); end if button_state==get(handles.radiobutton1,'Min') break else set(handles.activex7,'value',str2num(fgetl(X))*0.4647); end t=toc; fprintf('%0.0f seconds',t); count=i pause(0.3) elseif button_state == get(handles.radiobutton1,'Min') stop(tim); set(handles.activex4,'Value',0); set(handles.activex5,'Value',0); set(handles.activex6,'Value',0); set(handles.activex7,'Value',0); fprintf(X,'66J0N'); fprintf(X,'61J0N'); set(handles.activex1,'Xpos',0); set(handles.activex1,'Ypos',0); set(handles.activex1,'Zpos',60); set(handles.oopic,'string','tsol'); fprintf(X,'\A'); fclose(X) end function mycallback(obj,event, handles) global X global tim for i=0:2 fprintf(X,'71J'); set(handles.activex2,'needlevalue',str2num(fgetl(X))*0.5149); fprintf(X,'74J'); set(handles.activex3,'needlevalue',str2num(fgetl(X))*0.5015); pause(0.2); end
NoD Δημοσ. 18 Ιουλίου 2005 Δημοσ. 18 Ιουλίου 2005 Aπό περιέργεια, μήπως θα μπορούσες να μας πείς γιατι πιστεύεις κάτι τέτοιο για τα κακόμοιρα for loops? Τρέξε τα εξής 2 scripts: 1)k(1:10^6)=1:10^6;plot(k); 2)for i=1:10^6 k(i)=i; end plot(k); Στο δεύτερο θα έχεις πιει καφέ,θα έχει φάει,θα κοιμηθείς και αν έχεις γερό μηχάνημα,όταν ξυπνήσεις παίζει να είσαι τυχερός και να έχει τελειώσει. Edit: Ξέχασα να πω,αν και είναι προφανές,ότι τα 2 αυτά scripts κάνουν το ίδιο πράγμα.
drm Δημοσ. 18 Ιουλίου 2005 Δημοσ. 18 Ιουλίου 2005 Προφανός, αυτό που δεν κατέστησε σαφές ο NoD είναι ότι τα for-loops καλό είναι να αποφευγονταί στο MatLab, και όχι γενικά στον προγραματισμό. Το MLab, είναι έτσι φτιαγμένο, ώστε όλη η δύναμη του να είναι στις πράξεις πινάκων και όχι στα For-Loops...
NoD Δημοσ. 18 Ιουλίου 2005 Δημοσ. 18 Ιουλίου 2005 Ρε παιδιά διαβάζετε όλα τα posts και διαβάζετε τα καλά.Φίλε drm αν διαβάσεις το αρχικό μου post θα δεις ότι τονίζω για matlab: ...πάντως καλό είναι σε matlab[/u'] να αποφεύγονται τα for-loops...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.