Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

γεια σας παιδιά,

εχω ως εργασια την κατασκευή ενός gui το οποίο πρέπει να υπολογίζει τη συνάρτηση μεταφοράς ενός συστήματος και μετά να βρίσκει τη γραφική παράσταση της δυναμικής απόκρισης με την συνάρτηση lsim(g,u,t).Στον υπολογισμό της συνάρτησης μεταφοράς δεν εντοπίζω πρόβλημα, απλα μου εμφανίζει error using lsim. Ο κώδικας μου είναι ο παρακάτω:

u=get(handles.edit8,'String')

t=get(handles.edit10,'String')

if(get(handles.radiobutton3,'Value')==get(handles.radiobutton3,'Max'))

num=str2num(get(handles.edit1,'String'))

den=str2num(get(handles.edit2,'String'))

sys=tf(num,den)

T=evalc('sys')

set(handles.text6,'String',T)

else(get(handles.radiobutton4,'Value')==get(handles.radiobutton4,'Max'))

num1=str2num(get(handles.edit1,'String'))

den1=str2num(get(handles.edit2,'String'))

x1=poly(num1)

y1=poly(den1)

sys1=tf(x1,y1)

T=evalc('sys1')

set(handles.text6,'String',T)

end

g=T

[y,t]=lsim(g,u,t)

lsim(g,u,t);sgrid

 

Κάνω κάτι λάθος;

Ευχαριστώ πολύ.

Δημοσ.

1ον.

Δεν λες την γλώσσα.

 

2ον

Άντε, και κάποιοι κατάλαβαν ότι είναι MATLAB.

Μπορεί το λάθος που λες να οφείλεται σε άλλο σημείο. Με μισό κώδικα χλωμό να βρεις λάθος.

 

3ον

Άντε και βάζεις όλο τον κώδικα. Έτσι χύμα δεν παίζει να κάτσει κανείς να τον διαβάσει. Βάλ' τον σε code /code

Δημοσ.

γεια σας παιδιά,

εχω ως εργασια την κατασκευή ενός gui το οποίο πρέπει να υπολογίζει τη συνάρτηση μεταφοράς ενός συστήματος και μετά να βρίσκει τη γραφική παράσταση της δυναμικής απόκρισης με την συνάρτηση lsim(g,u,t).Στον υπολογισμό της συνάρτησης μεταφοράς δεν εντοπίζω πρόβλημα, απλα μου εμφανίζει error using lsim. Ο κώδικας μου είναι ο παρακάτω:

>
u=get(handles.edit8,'String')
t=get(handles.edit10,'String')
if(get(handles.radiobutton3,'Value')==get(handles.radiobutton3,'Max'))
 num=str2num(get(handles.edit1,'String')) 
 den=str2num(get(handles.edit2,'String'))
 sys=tf(num,den)
 T=evalc('sys')
 set(handles.text6,'String',T)
else(get(handles.radiobutton4,'Value')==get(handles.radiobutton4,'Max'))
 num1=str2num(get(handles.edit1,'String'))
 den1=str2num(get(handles.edit2,'String'))
 x1=poly(num1)
 y1=poly(den1)
 sys1=tf(x1,y1)
 T=evalc('sys1')
 set(handles.text6,'String',T)
end
g=T
[y,t]=lsim(g,u,t)
lsim(g,u,t);sgrid

Κάνω κάτι λάθος;

Ευχαριστώ πολύ.

 

 

1.

Το όρισμα στο else δεν χρειάζεται. Πολύ πιθανόν να παίρνεις λάθος από αυτό

 

2.

Το δεύτερο όρισμα της lsim πρέπει να έχει δύο rows. Δεν βλέπω κάποιο check στον κώδικά σου. Θυμήσου ότι η poly γυρίζει 1xn και όχι nxm εάν δώσεις είσοδο 1x1.

 

3.

Δες τι έκανα με τα code tags και κάνε το και εσύ από εδώ και πέρα για κώδικα.

 

4.

Εάν το αφήσεις έτσι, δεν θα κάνει update τα data του gui.

Θες guidata(hObject, handles) στο τέλος κάθε callback. Ενδεχομένως, εάν δεν το έχεις κάνει στα text που τραβάς τα δεδομένα σου, να φταίει και αυτό. Για αυτό σου είπα να βάλεις ολόκληρο τον κώδικα αλλά δεν ακούς.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...