MATLAB prevede un gran numero di funzioni matematiche standard, tra le quali ci sono abs, sqrt, exp, e sin. La radice quadrata o il logaritmo di un numero negativo non è considerato un errore; il risultato complesso è prodotto in modo automatico. MATLAB prevede anche funzioni matematiche molto più avanzate, come le funzioni di Bessel e le gamma function.
La maggior parte di queste funzioni accettano argomenti complessi. Per avere un elenco delle funzioni matematiche elementari, basterà digitare al prompt di matlab:
help elfun
Per un elenco più avanzato delle funzioni matematiche e delle matrici digitare:
help specfun
help elmat
Alcune delle funzioni, come sqrt e sin, sono calcolate al momento in quanto sono parte del cuore di MATLAB quindi sono molto efficienti, ma i dettagli della computazione non sono prontamente accessibili. Le altre funzioni, come gamma e sinh sono perfezionate in M-files. Si può vedere il codice originario che le valuta ed eventualmente anche cambiarlo.
Molte funzioni speciali prevedono valori di costanti utili. Il valore infinito è generato dividendo un valore diverso da zero per zero, o valutando espressioni matematiche definite che tendono all’infinito. Il valore Not-a-number è invece generato tentando di valutare espressioni tipo 0/0 o Inf-Inf che non hanno valori matematici ben definiti. I nomi delle funzione non sono riservati. E’ quindi possibile utilizzare alcuni di tali nomi come una nuova variabile, ad esempio:
eps = 1.e-6
e poi usare quel valore in calcoli susseguenti. La funzione originale può essere ripristinata con il comando:
clear eps
Alcuni nomi sono associati a precisi valori, come ad esempio:
pi : 3.14159265…
i : unità Immaginaria,
j : come i
eps : Floating-point con precisione, 2 -52
realmin : il più piccolo floating-point, 2 -1022
realmax : il più grande floating-point,(2-e)2 1023
Inf : Infinito
NaN : Not-a-number.
Abbiamo già ha visto molti esempi di espressioni di MATLAB. Di seguito ci sono altri esempi, e sono riportati i valori che ne risultano.
rho = (1+sqrt(5)) /2 rho = 1.6180
a = abs(3+4i) a = 5
z = sqrt(besselk(4/3,rho-i)) z = 0.3730+ 0.3214i
huge= l’exp(log(realmax)) huge = 1.7977e+308
toobig = il pi*huge toobig = Inf.
LINK DI APPROFONDIMENTO PER L’ARGOMENTO:
- Elementi di programmazione in Matlab
- Le operazioni aritmetiche in Matlab
- Rappresentazione dei numeri in Matlab
- Le variabili in Matlab
- Le operazioni in Matlab
- Operatore due punti in Matlab