Dr.Fuzzy Δημοσ. 12 Δεκεμβρίου 2008 Δημοσ. 12 Δεκεμβρίου 2008 Πρωτα απ'ολα γραφουμε Ελληνικα! Δευτερον, τι ακριβως θες; Πως να κανεις τον κωδικα function ή πως να καλεσεις το function μεσα απο το embedded matlab block του Simulink;
mpoukou_22 Δημοσ. 13 Δεκεμβρίου 2008 Δημοσ. 13 Δεκεμβρίου 2008 αν ειναι ευκολο θα ηθελα να μου πειτε πως θα κανω τον κωδικα του matalab function ναι και θα θελα να μου πειτε πωσ θα τον καλεσω μεσα απο το embeded matalab για να δω αν η αρχικη μου σκεπση ειναι σωστη θα το εκτιμουσα πολυ
Dr.Fuzzy Δημοσ. 13 Δεκεμβρίου 2008 Δημοσ. 13 Δεκεμβρίου 2008 αν ειναι ευκολο θα ηθελα να μου πειτε πως θα κανω τον κωδικα του matalab function ναι και θα θελα να μου πειτε πωσ θα τον καλεσω μεσα απο το embeded matalab για να δω αν η αρχικη μου σκεπση ειναι σωστη θα το εκτιμουσα πολυ 1. Δωσε help function, εχει παραδειγμα! 2. User defined Function -> Embedded MATLAB Function File -> New -> Model, Βαλε το Embedded MATLAB Function block μεσα στο model, double click on it και copy-paste τον κωδικα που εκανες function!
mpoukou_22 Δημοσ. 15 Δεκεμβρίου 2008 Δημοσ. 15 Δεκεμβρίου 2008 ok σε ευχαριστο θα ηθελα ομος για λιγο ακομα τη βοηθεια σου αν ειναι ευκολο!!!!!!!!!θελω να μου πεις εαν ο τροπος που οριζω την συναρτηση!!!!!!!!!!!!!ειναι αυτος ξερω θα σε ζαλειζω αλλα ρωτοντας πανς στην πολη ετσι δεν ειναι? function[number]=fcn (x) N = 1000; Fs = 8000; n = 0:1:N-1; l1 = cos(2*pi*697/Fs*n); l2 = cos(2*pi*770/Fs*n); l3 = cos(2*pi*852/Fs*n); l4 = cos(2*pi*941/Fs*n); h1 = cos(2*pi*1209/Fs*n); h2 = cos(2*pi*1336/Fs*n); h3 = cos(2*pi*1477/Fs*n); while(1) number = x; if number == '1' x = l1+h1; elseif number == '2' x = l1+h2; elseif number == '3' x = l1+h3; elseif number == '4' x = l2+h1; elseif number == '5' x = l2+h2; elseif number == '6' x = l2+h3; elseif number == '7' x = l3+h1; elseif number == '8' x = l3+h2; elseif number == '9' x = [l3+h3]; elseif number == '*' x = l4+h1; elseif number == '0' x = l4+h2; elseif number == '#' x = l4+h3; end end και αντιστοιχα με το costant poυ βαζω1 2 3 παιρνει τισ τιμες?
Dr.Fuzzy Δημοσ. 15 Δεκεμβρίου 2008 Δημοσ. 15 Δεκεμβρίου 2008 Δωσε ενα help function στο Matlab και δες ενα παραδειγμα.
mpoukou_22 Δημοσ. 16 Δεκεμβρίου 2008 Δημοσ. 16 Δεκεμβρίου 2008 καλησπερα προσπαθησα πολυ στο ορισμα της συναρτησης το μονο προβλημα ειναι οτι στο embeded matalab πρεπει να παιρνω εισοδο απο το costant δηλαδη το 1 και να δεινω εξοδο το number για να παω μετα στο dtmf block εχω πραγματοπιοισει το παρακατω προγραμμα μεσα στο embeded mata lab αλλα μου βγαζει προβλημα στπο ορισμα του input ti λαθοσ κανω μπορειτε να μου πειτε γιατι εχω κολλισει ασχημα ο κωδικας ειναι ο παρακατω: function number= fcn (input) N=8000; Fs = 8000; n = 0:1:N-1; l1 = cos(2*pi*697/Fs*n); h1 = cos(2*pi*1209/Fs*n); x=l1+h1; number=x; input='1'; end
Dr.Fuzzy Δημοσ. 16 Δεκεμβρίου 2008 Δημοσ. 16 Δεκεμβρίου 2008 καλησπερα προσπαθησα πολυ στο ορισμα της συναρτησης το μονο προβλημα ειναι οτι στο embeded matalab πρεπει να παιρνω εισοδο απο το costant δηλαδη το 1 και να δεινω εξοδο το number για να παω μετα στο dtmf block εχω πραγματοπιοισει το παρακατω προγραμμα μεσα στο embeded mata lab αλλα μου βγαζει προβλημα στπο ορισμα του input ti λαθοσ κανω μπορειτε να μου πειτε γιατι εχω κολλισει ασχημα ο κωδικας ειναι ο παρακατω: function number= fcn (input) N=8000; Fs = 8000; n = 0:1:N-1; l1 = cos(2*pi*697/Fs*n); h1 = cos(2*pi*1209/Fs*n); x=l1+h1; number=x; input='1'; end Οτι εχεις ως ορισμα το input που ομως μεσα στο function το εχεις "κολλησει" στο 1, οποτε σαν ορισμα το εχεις αχρηστευσει!!!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.