>> Tecnologia elettronica >  >> Casa intelligente >> Vita smart

Come applicare la convoluzione in MATLAB senza usare la funzione

La convoluzione è un'operazione matematica che fonde due funzioni rispetto alla sovrapposizione di una funzione mentre viene spostata sull'altra. Anche se MATLAB contiene una funzione di convoluzione predefinita, è possibile calcolare l'integrale di convoluzione discreta da soli. La convoluzione discreta di due funzioni f e g è definita come la somma nell'intervallo da 0 a j di f(j) * g(k-j).

Passaggio 1

Definisci due vettori, f e g, contenenti le due funzioni che vuoi convolvere. Le lunghezze di f e g non devono essere uguali. La lunghezza del risultato della convoluzione, k, sarà uno in meno della somma delle lunghezze di f e g:

m = length(f); n = length(g); k = m + n - 1;

Passaggio 2

Definisci l'intervallo j su cui avverrà la convoluzione. Il valore di j è l'intervallo dove gli indici delle due funzioni da convolvere, f(j) e g(k+1-n), sono legali. Il valore 1 aggiunto a k tiene conto del fatto che MATLAB inizia l'indicizzazione dei vettori a 1 invece che a 0:

j = max(1,k+1-n):min(k,m)

Passaggio 3

Prealloca lo spazio per il risultato della convoluzione:

my_result = zeros(k);

Passaggio 4

Scrivi un ciclo for per iterare attraverso i valori di k:

for result_index = 1:k

Passaggio 5

Calcola la convoluzione per tutti i valori di j:

my_result(k) = sum(f(j) .* g(k-j+1));

Passaggio 6

Chiudi il ciclo for con il comando "end".

  1. Come ottenere suonerie senza usare Internet
  2. Come creare effetto stella sulle luci senza filtro star
  3. Come aggiungere musica al Sansa Fuze senza Rhapsody
  4. Come spegnere iPod Touch senza usare il tasto superiore
  5. Come Neatsvor lava i pavimenti con la funzione mocio
  6. Come abilitare il tasto F Lock