MATLAB - Trasforma

MATLAB fornisce il comando per lavorare con le trasformazioni, come le trasformate di Laplace e Fourier. Le trasformazioni sono utilizzate nella scienza e nell'ingegneria come strumento per semplificare l'analisi e guardare i dati da un'altra angolazione.

Ad esempio, la trasformata di Fourier ci permette di convertire un segnale rappresentato in funzione del tempo in una funzione di frequenza. La trasformata di Laplace ci consente di convertire un'equazione differenziale in un'equazione algebrica.

MATLAB fornisce il laplace, fourier e fft comandi per lavorare con trasformate di Laplace, Fourier e Fast Fourier.

La trasformata di Laplace

La trasformata di Laplace di una funzione del tempo f (t) è data dal seguente integrale -

La trasformata di Laplace è anche indicata come trasformata di f (t) in F (s). Puoi vedere che questo processo di trasformazione o integrazione converte f (t), una funzione della variabile simbolica t, in un'altra funzione F (s), con un'altra variabile s.

La trasformata di Laplace trasforma le equazioni differenziali in equazioni algebriche. Per calcolare una trasformata di Laplace di una funzione f (t), scrivi -

laplace(f(t))

Esempio

In questo esempio, calcoleremo la trasformata di Laplace di alcune funzioni di uso comune.

Crea un file di script e digita il codice seguente:

syms s t a b w

laplace(a)
laplace(t^2)
laplace(t^9)
laplace(exp(-b*t))
laplace(sin(w*t))
laplace(cos(w*t))

Quando si esegue il file, viene visualizzato il seguente risultato:

ans =
   1/s^2

ans =
   2/s^3

ans =
   362880/s^10

ans =
   1/(b + s)
  
ans =
   w/(s^2 + w^2)
  
ans =
   s/(s^2 + w^2)

Trasformata inversa di Laplace

MATLAB ci permette di calcolare la trasformata inversa di Laplace utilizzando il comando ilaplace.

Per esempio,

ilaplace(1/s^3)

MATLAB eseguirà l'istruzione precedente e visualizzerà il risultato -

ans =
   t^2/2

Esempio

Crea un file di script e digita il codice seguente:

syms s t a b w

ilaplace(1/s^7)
ilaplace(2/(w+s))
ilaplace(s/(s^2+4))
ilaplace(exp(-b*t))
ilaplace(w/(s^2 + w^2))
ilaplace(s/(s^2 + w^2))

Quando si esegue il file, viene visualizzato il seguente risultato:

ans =
   t^6/720

ans =
   2*exp(-t*w)

ans =
   cos(2*t)

ans =
   ilaplace(exp(-b*t), t, x)

ans =
   sin(t*w)

ans =
   cos(t*w)

Le trasformate di Fourier

La trasformata di Fourier trasforma comunemente una funzione matematica del tempo, f (t), in una nuova funzione, a volte indicata con o F, il cui argomento è la frequenza con unità di cicli / s (hertz) o radianti al secondo. La nuova funzione è quindi nota come trasformata di Fourier e / o spettro di frequenza della funzione f.

Esempio

Crea un file di script e digita il seguente codice al suo interno:

syms x 
f = exp(-2*x^2);     %our function
ezplot(f,[-2,2])     % plot of our function
FT = fourier(f)      % Fourier transform

Quando esegui il file, MATLAB traccia il grafico seguente:

Viene visualizzato il seguente risultato:

FT =
   (2^(1/2)*pi^(1/2)*exp(-w^2/8))/2

Tracciare la trasformata di Fourier come -

ezplot(FT)

Fornisce il grafico seguente:

Trasformate di Fourier inverse

MATLAB fornisce il ifouriercomando per calcolare la trasformata di Fourier inversa di una funzione. Per esempio,

f = ifourier(-2*exp(-abs(w)))

MATLAB eseguirà l'istruzione precedente e visualizzerà il risultato -

f =
   -2/(pi*(x^2 + 1))