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

συνελιξη σε matlab


Legolas

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

Δημοσ.

καλησπερα....

εχω φτιαξει ενα προγραμματακι για να κανει συνελιξη διαφορα υποτιθεμενα σηματα

το προβλημα ειναι οτι το αποτελεσμα πρεπει να μου βγαινει απο [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= οσα σηματα θελω

Δημοσ.

καλησπερα....

εχω φτιαξει ενα προγραμματακι για να κανει συνελιξη διαφορα υποτιθεμενα σηματα

το προβλημα ειναι οτι το αποτελεσμα πρεπει να μου βγαινει απο [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)

Δημοσ.

Ο κώδικας σου είναι...ότι ναναι!

Τα 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 θέλει να παίρνει την συνέλιξη ενός νέου σήματος με το αποτέλεσμα της συνέλιξης που είχε από κάποια προηγούμενα σήματα.

 

Το πρόβλημα που έχει είναι θέμα πλήθους σημείων, που θα πρέπει να προσέξει στον ορισμό του σήματος εισόδου πριν κάνει την συνέλιξη.

 

Απλό, αλλά θέλει λεπτομέρειες να προσεχθούν... μπελαλοδουλειά. :P

Δημοσ.

Δεν νομίζω ότι κάνει το ίδιο αυτό που έγραψες με τον κώδικα του author.

 

Απ' ό,τι είδα, ο author θέλει να παίρνει την συνέλιξη ενός νέου σήματος με το αποτέλεσμα της συνέλιξης που είχε από κάποια προηγούμενα σήματα.

 

Το πρόβλημα που έχει είναι θέμα πλήθους σημείων, που θα πρέπει να προσέξει στον ορισμό του σήματος εισόδου πριν κάνει την συνέλιξη.

 

Απλό, αλλά θέλει λεπτομέρειες να προσεχθούν... μπελαλοδουλειά. :P

 

Φυσικά και δεν κάνει το ίδιο! Είναι απλά ένα παράδειγμα για να καταλάβει τι γίνεται. Αν θέλει να παίρνει τη συνέλιξη ενός νέου σήματος με ένα προηγούμενο, απλά σώζει το αποτέλεσμα και ξανακάνει συνέλιξη. Είναι όντως απλό, δεν βλέπω που είναι η δυσκολία.

Δημοσ.

Φυσικά και δεν κάνει το ίδιο! Είναι απλά ένα παράδειγμα για να καταλάβει τι γίνεται. Αν θέλει να παίρνει τη συνέλιξη ενός νέου σήματος με ένα προηγούμενο, απλά σώζει το αποτέλεσμα και ξανακάνει συνέλιξη. Είναι όντως απλό, δεν βλέπω που είναι η δυσκολία.

 

 

Δεν είναι δύσκολο.. σαφώς.

 

Αν και, σύμφωνα με αυτά που λέει, δεν ξέρω κατά πόσο θέλει συνέλιξη ή φιλτράρισμα (conv ή filter).

Δημοσ.

Δεν είναι δύσκολο.. σαφώς.

 

Αν και, σύμφωνα με αυτά που λέει, δεν ξέρω κατά πόσο θέλει συνέλιξη ή φιλτράρισμα (conv ή filter).

 

Ας μας διευκρινίσει τι θέλει τότε.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...