lettura facile

Come creare una sequenza numerica in un vettore su Matlab

In questa lezione ti insegno come creare una sequenza di numeri crescente o decrescente in una variabile array usando Matlab.

Per creare una sequenza numerica devi usare tre parametri: l'inizio della sequenza (START), il passo ossia l'incremento o decremento della sequenza (STEP) e la fine della sequenza (STOP). Separa i parametri tra loro con il simbolo dei due punti.
la sequenza numerica è definita con START STEP e STOP
L'informazione sul passo è facoltativa. Quando manca Matlab usa il passo +1 di default. In alternativa, puoi anche utilizzare le funzioni linspace() e logspace().

Ti faccio un esempio pratico.

Per creare un array con una sequenza di numeri interi da 1 a 10 digita v=1:10

>> v=1:10
v =
1 2 3 4 5 6 7 8 9 10

Nel comando precedente il passo non è definito. La sequenza è definita solo dai parametri START=1 e STOP=10

Matlab elabora il comando con passo unitario come se fosse v=1:1:10

>> v=1:1:10
v =
1 2 3 4 5 6 7 8 9 10

Ora crea un array composto solo da numeri interi dispari.

Digita il comando v=1:2:10 con l'inizio START=1 e il passo STEP=2

>> v=1:2:10
v =
1 3 5 7 9

Adesso crea un array composto solo da numeri pari.

Digita il comando v=2:2:10 dove il passo è sempre STEP=2 ma l'inizio è START=2

>> v=2:2:10
v =
2 4 6 8 10

Per avere una sequenza decrescente indica un valore iniziale START più alto di quello finale STOP e un passo negativo STEP=-1

Ad esempio, digita il comando v=10:-1:1

>> v=10:-1:1
v =
10 9 8 7 6 5 4 3 2 1

Questo comando ti permette anche di definire una sequenza numerica di valori reali.

Ad esempio, digita il comando v=0:0.2:1 per fare una sequenza di numeri reali da 0 a 1 con il passo decimale STEP=0.2

>> v=0:0.2:1
v =
0.00000 0.20000 0.40000 0.60000 0.80000 1.00000

Poi crea una sequenza di numeri reali da -1 a 1 fissando il passo a STEP=0.5

Digita il comando v=-1:0.5:1

>> v=-1:0.5:1
v =
-1.0000 -0.5000 0.0000 0.5000 1.0000

Questa sintassi ti permette di creare qualsiasi sequenza numerica di numeri interi o reali.

Nota. Questa sintassi ha però dei limiti. Ad esempio, non ti permette di creare sequenze di numeri complessi. Se vuoi ottenere una sequenza di numeri complessi devi usare la funzione linspace()

La funzione linspace() crea una sequenza numerica di numeri interi, reali o complessi. E' quindi una funzione più completa della precedente.

linspace(start, stop, n)

  • Il primo parametro (start) è il valore iniziale della sequenza numerica.
  • Il secondo parametro (stop) è il valore finale della sequenza numerica.
  • Il parametro n è il numero degli elementi della sequenza

Ti faccio un esempio pratico.

Digita v=linspace(1,10,5) per creare una sequenza di numeri reali da 1 a 10 composta soltanto da 5 elementi

>> v=linspace(1,10,5)
v =
1.0000 3.2500 5.5000 7.7500 10.000

La funzione linspace() ti permette anche di ottenere una sequenza di numeri complessi.

Ad esempio, crea una sequenza di tre numeri complessi tra 1+2i (inizio) e 3+4i (fine).

>> v=linspace(1+2i, 3+4i, 3)
v =
1 + 2i 2 + 3i 3 + 4i

Se invece vuoi creare una sequenza di numeri in scala logaritmica utilizza la funzione logspace()

logspace(a,b,n)

  • Il primo parametro è l'esponente dell'estremo iniziale 10a
  • Il secondo parametro è l'esponente dell'estremo finale 10b
  • Il terzo parametro n è il numero degli elementi della sequenza

Ad esempio, digita logspace(1,2,5) per creare una sequenza numerica composta da 5 valori compresi nella scala logaritmica tra 101 e 102 (ossia tra 10 e 100)

>> logspace(1,2,5)
ans =
10.000 17.783 31.623 56.234 100.000




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin