hush# Δημοσ. 13 Μαΐου 2010 Δημοσ. 13 Μαΐου 2010 Γειά χαρά. προσπαθώ να πετύχω το εξής με ένα script σε matlab το οποίο αποτυγχάνει. Θέλω σε ενα for loop να αθροίζω δύο ημίτονα και να κάνω την γραφική τους. Αυτό που πάει λάθος είναι ότι μου εμφανίζει την γραφική μόνο του πρώτου αθροίσματος και όχι των υπολοίπων.Ορίστε και το script: fs=8000; fc=[1209 1336 1447]; fr=[697 770 852 941]; N= (0:1:1600)'; for i=1:4 for j=1:3 y = sin(2*pi*fr(i)/fs*N) + 2*sin(2*pi*fc(j)/fs*N); plot(N(1:200),y(1:200)) end end
jstark Δημοσ. 13 Μαΐου 2010 Δημοσ. 13 Μαΐου 2010 Γειά χαρά.προσπαθώ να πετύχω το εξής με ένα script σε matlab το οποίο αποτυγχάνει. Θέλω σε ενα for loop να αθροίζω δύο ημίτονα και να κάνω την γραφική τους. Αυτό που πάει λάθος είναι ότι μου εμφανίζει την γραφική μόνο του πρώτου αθροίσματος και όχι των υπολοίπων.Ορίστε και το script: fs=8000; fc=[1209 1336 1447]; fr=[697 770 852 941]; N= (0:1:1600)'; for i=1:4 for j=1:3 y = sin(2*pi*fr(i)/fs*N) + 2*sin(2*pi*fc(j)/fs*N); plot(N(1:200),y(1:200)) end end http://www.mathworks.com/access/helpdesk/help/techdoc/ref/hold.html
Dr.Fuzzy Δημοσ. 14 Μαΐου 2010 Δημοσ. 14 Μαΐου 2010 Γειά χαρά.προσπαθώ να πετύχω το εξής με ένα script σε matlab το οποίο αποτυγχάνει. Θέλω σε ενα for loop να αθροίζω δύο ημίτονα και να κάνω την γραφική τους. Αυτό που πάει λάθος είναι ότι μου εμφανίζει την γραφική μόνο του πρώτου αθροίσματος και όχι των υπολοίπων.Ορίστε και το script: fs=8000; fc=[1209 1336 1447]; fr=[697 770 852 941]; N= (0:1:1600)'; for i=1:4 for j=1:3 y = sin(2*pi*fr(i)/fs*N) + 2*sin(2*pi*fc(j)/fs*N); plot(N(1:200),y(1:200)) end end Τα for-loops δεν χρειάζονται και γενικά ο κώδικας σου είναι πολύ κακός. Εκμεταλλεύσου τις δυνατότητες της γλώσσας και γράψε vectorized κώδικα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.