Ryan Δημοσ. 14 Ιανουαρίου 2010 Δημοσ. 14 Ιανουαρίου 2010 Γεια σας παιδιά...Έχω προβληματάκι στη Matlab σχετικά με ένα πρόγραμμα που γράφω για MLP(Multi Layer Perceptron) και ενώ (έτσι όπως πιστεύω) έχω γράψει σωστά τον κώδικα δεν μοθ τρέχει και μου βγάζει error...Αν είναι κάποιος γνώστης του θέματος και μπορεί να βοηθήσει... Ευχαριστώ εκ των προτέρων... ΥΣ. Subscript indices must either be real positive integers or logicals. Error in ==> G:\mlp.m On line 18 ==> total=total+(w(S,L)*z(L,S-1));
Dr.Fuzzy Δημοσ. 14 Ιανουαρίου 2010 Δημοσ. 14 Ιανουαρίου 2010 Κάνε post τον κώδικα του Νευρωνικού να τον κοιτάξω.
Ryan Δημοσ. 14 Ιανουαρίου 2010 Μέλος Δημοσ. 14 Ιανουαρίου 2010 input_variable=2; input_coloums=3; w=[1 -1 0.5;0.5 -1 1]; w1=[1 0.2 -1;0 0.5 0;0 0.5 0;-1 0.2 1]; w2=[1 0 0.2 -1.2; -0.5 0.5 0.5 -0.5;-0.8 -0.2 0 1]; x=[1 0]; z=x; total=0; for S=1:3 for R=1:input_coloums total=0; switch S case 1 for L=1:input_variable total=total+(w(S,L)*z(L,S-1)); end case 2 for L=1:input_variable total=total+w1(S,L)*z(L,S-1); end case 3 for L=1:input_variable total=total+w2(S,L)*z(L,S-1); end SA(S,R)=1+total; fprintf SA(S,R); z(S,R)=1/(1+exp^-SA(S,R)); fprintf z(S,R); end end switch inputvariable case 2 input_variable=3; case 3 input_variable=4; end switch inputcoloums case S:2 input_coloums=4; case S:3 input_coloums=3; end end Θες να σου δώσω και το σχημα?
computeras13 Δημοσ. 15 Ιανουαρίου 2010 Δημοσ. 15 Ιανουαρίου 2010 Σου χτυπάει σε αυτήν την γραμμή γιατί οι πίνακες αρχίζουν από το 1. Να σου εξηγήσω τι παίζει. for L=1:input_variabletotal=total+(w(S,L)*z(L,S-1)); end Για L=1 και S=1 έχουμε : total = total + (w(1,1)*z(1,0)); Άρα από ότι κατάλαβες αυτό το -1 εκεί μέσα ( στο case 1) σου κάνει την ζημιά.
Dr.Fuzzy Δημοσ. 15 Ιανουαρίου 2010 Δημοσ. 15 Ιανουαρίου 2010 Πέραν αυτού ο κώδικας σου θα μπορούσε να έχει γραφεί σε 5 γραμμές χωρίς for-loops και switch statements αν τον έκανες vectorized. Υπενθυμίζω ότι δεν γράφουμε MATLAB όπως π.χ. C .
computeras13 Δημοσ. 15 Ιανουαρίου 2010 Δημοσ. 15 Ιανουαρίου 2010 Καλά ναι και αυτό είναι αλλά δεν είναι αυτό που του δημιουργεί το πρόβλημα
Dr.Fuzzy Δημοσ. 15 Ιανουαρίου 2010 Δημοσ. 15 Ιανουαρίου 2010 Καλά ναι και αυτό είναι αλλά δεν είναι αυτό που του δημιουργεί το πρόβλημα ναι προφανώς το πρόβλημα είναι στο indexing, απλά συμπληρωματικά μια δεύτερη παρατήρηση.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.