Legolas Δημοσ. 6 Ιουνίου 2011 Δημοσ. 6 Ιουνίου 2011 καλησπερα.... εχω φτιαξει ενα προγραμματακι για να κανει συνελιξη διαφορα υποτιθεμενα σηματα το προβλημα ειναι οτι το αποτελεσμα πρεπει να μου βγαινει απο [0,1] κατι που δεν γινεται και το αποτελεσμα οταν κανω stem ή plot να ειναι ο οριζοντιος αξονα 10^50... κατι κανω λαθος λογικα το προγραμμα ειναι k=conv(rand(1,n),rand(1,n)); for i=3:n x=rand(1,n) k=conv(k,x) end y=stem(k) end n= οσα σηματα θελω
Dr.Fuzzy Δημοσ. 6 Ιουνίου 2011 Δημοσ. 6 Ιουνίου 2011 καλησπερα.... εχω φτιαξει ενα προγραμματακι για να κανει συνελιξη διαφορα υποτιθεμενα σηματα το προβλημα ειναι οτι το αποτελεσμα πρεπει να μου βγαινει απο [0,1] κατι που δεν γινεται και το αποτελεσμα οταν κανω stem ή plot να ειναι ο οριζοντιος αξονα 10^50... κατι κανω λαθος λογικα το προγραμμα ειναι k=conv(rand(1,n),rand(1,n)); for i=3:n x=rand(1,n) k=conv(k,x) end y=stem(k) end n= οσα σηματα θελω Ο κώδικας σου είναι...ότι ναναι! Τα for-loops δεν χρειάζονται και πρέπει να αποφεύγονται στη MATLAB (αν και αυτό είναι πταίσμα μπροστά στα υπόλοιπα!) Σου έφτιαξα ένα παράδειγμα για να πάρεις μια ιδέα: > clear all; clc; k=[0:1:4]; x(k+1)=k+1; h(k+1)=1-k; y=conv(x,h); stem(y)
Timonkaipumpa Δημοσ. 7 Ιουνίου 2011 Δημοσ. 7 Ιουνίου 2011 Ο κώδικας σου είναι...ότι ναναι! Τα for-loops δεν χρειάζονται και πρέπει να αποφεύγονται στη MATLAB (αν και αυτό είναι πταίσμα μπροστά στα υπόλοιπα!) Σου έφτιαξα ένα παράδειγμα για να πάρεις μια ιδέα: > clear all; clc; k=[0:1:4]; x(k+1)=k+1; h(k+1)=1-k; y=conv(x,h); stem(y) Δεν νομίζω ότι κάνει το ίδιο αυτό που έγραψες με τον κώδικα του author. Απ' ό,τι είδα, ο author θέλει να παίρνει την συνέλιξη ενός νέου σήματος με το αποτέλεσμα της συνέλιξης που είχε από κάποια προηγούμενα σήματα. Το πρόβλημα που έχει είναι θέμα πλήθους σημείων, που θα πρέπει να προσέξει στον ορισμό του σήματος εισόδου πριν κάνει την συνέλιξη. Απλό, αλλά θέλει λεπτομέρειες να προσεχθούν... μπελαλοδουλειά.
Dr.Fuzzy Δημοσ. 7 Ιουνίου 2011 Δημοσ. 7 Ιουνίου 2011 Δεν νομίζω ότι κάνει το ίδιο αυτό που έγραψες με τον κώδικα του author. Απ' ό,τι είδα, ο author θέλει να παίρνει την συνέλιξη ενός νέου σήματος με το αποτέλεσμα της συνέλιξης που είχε από κάποια προηγούμενα σήματα. Το πρόβλημα που έχει είναι θέμα πλήθους σημείων, που θα πρέπει να προσέξει στον ορισμό του σήματος εισόδου πριν κάνει την συνέλιξη. Απλό, αλλά θέλει λεπτομέρειες να προσεχθούν... μπελαλοδουλειά. Φυσικά και δεν κάνει το ίδιο! Είναι απλά ένα παράδειγμα για να καταλάβει τι γίνεται. Αν θέλει να παίρνει τη συνέλιξη ενός νέου σήματος με ένα προηγούμενο, απλά σώζει το αποτέλεσμα και ξανακάνει συνέλιξη. Είναι όντως απλό, δεν βλέπω που είναι η δυσκολία.
Timonkaipumpa Δημοσ. 7 Ιουνίου 2011 Δημοσ. 7 Ιουνίου 2011 Φυσικά και δεν κάνει το ίδιο! Είναι απλά ένα παράδειγμα για να καταλάβει τι γίνεται. Αν θέλει να παίρνει τη συνέλιξη ενός νέου σήματος με ένα προηγούμενο, απλά σώζει το αποτέλεσμα και ξανακάνει συνέλιξη. Είναι όντως απλό, δεν βλέπω που είναι η δυσκολία. Δεν είναι δύσκολο.. σαφώς. Αν και, σύμφωνα με αυτά που λέει, δεν ξέρω κατά πόσο θέλει συνέλιξη ή φιλτράρισμα (conv ή filter).
Dr.Fuzzy Δημοσ. 7 Ιουνίου 2011 Δημοσ. 7 Ιουνίου 2011 Δεν είναι δύσκολο.. σαφώς. Αν και, σύμφωνα με αυτά που λέει, δεν ξέρω κατά πόσο θέλει συνέλιξη ή φιλτράρισμα (conv ή filter). Ας μας διευκρινίσει τι θέλει τότε.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.