Le funzioni in Matlab

MATLAB

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

funzioni.matlab2Alcuni 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:

Leave a Reply

Your email address will not be published. Required fields are marked *