Si inserisce il "punto" prima degli operatori
*,
/,
^,
\ quando si vuole che gli operatori stessi effettuino l'operazione relativa su vettori o matrici,
elemento per elemento[/i].
Se si omette il "punto" l'operazione viene effettuata nel senso "naturale" delle operazioni tra matrici
Ad esempio:
a=randi(10,4)
b=randi(10,4)
c=a.*b
d=a*b
a =
8 7 10 8
8 2 4 3
3 2 6 6
7 5 3 7
b =
9 2 9 2
10 3 3 3
6 9 10 7
2 3 4 5
c =
72 14 90 16
80 6 12 9
18 18 60 42
14 15 12 35
d =
218 151 225 147
122 67 130 65
95 84 117 84
145 77 136 85
Un caso particolare è l'utilizzo del "punto" in combinazione con l'operatore
' che effettua la
trasposta[/i] di un vettore o matrice;:
[*] nel caso gli input siano di tipo
double (lo standard si MatLab) la presenza del punto è ininfluente
[*] nel caso gli input siano di tipo
complex il "punto" viene utilizzato nel caso si voglia semplicemente scambiare le righe con le colonne e non ottenere
matrice trasposta coniugata
a=randi(10,3)*i
b=randi(10,3)*j
c=a.'
d=a'
a =
0.0000 + 5.0000i 0.0000 + 3.0000i 0.0000 + 9.0000i
0.0000 +10.0000i 0.0000 + 2.0000i 0.0000 + 6.0000i
0.0000 + 2.0000i 0.0000 + 2.0000i 0.0000 + 6.0000i
b =
0.0000 + 2.0000i 0.0000 + 4.0000i 0.0000 + 1.0000i
0.0000 + 9.0000i 0.0000 + 6.0000i 0.0000 + 3.0000i
0.0000 + 7.0000i 0.0000 + 5.0000i 0.0000 + 2.0000i
c =
0.0000 + 5.0000i 0.0000 +10.0000i 0.0000 + 2.0000i
0.0000 + 3.0000i 0.0000 + 2.0000i 0.0000 + 2.0000i
0.0000 + 9.0000i 0.0000 + 6.0000i 0.0000 + 6.0000i
d =
0.0000 - 5.0000i 0.0000 -10.0000i 0.0000 - 2.0000i
0.0000 - 3.0000i 0.0000 - 2.0000i 0.0000 - 2.0000i
0.0000 - 9.0000i 0.0000 - 6.0000i 0.0000 - 6.0000i
Per maggiori informazioni:
http://uk.mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html
A prescindere dal fatto che si usi o meno il "punto" il numero di righe e colonne degli input deve essere coerente con il tipo si operazione chi si intende fare.
Nel tuo caso (considerando solo il primo prodotto):
exp(-20.3*t)
e
cos(69.4*t - 1.7 )
sono due vettori (1 x 100).
Se non inserisci il "punto" prima dell'operatore
* MatLab interpreta l'istruzione
exp(-20.3*t)*cos(69.4*t - 1.7 )
nel senso di
prodotto "righe per colonne" ed essendo il numero di righe del primo fattore (1) diverso dal numero di colonne del secondo fattore (100) viene generato il messaggio di errore.
Inserendo il "punto" MatLab interpreta l'istruzione:
exp(-20.3*t).*cos(69.4*t - 1.7 )
come
prodotto elemento per elemento dei due vettori. Dal momento che i due vettori hanno lo stesso numero di elementi (100) non viene generato nessun errore.