Espressioni
Come altri linguaggi di programmazione, MATLAB prevede espressioni matematiche, ma queste espressioni
coinvolgono matrici intere. Il blocco di espressioni è:
•Variables
•Numbers
•Operators
•Functions
•Variabili
MATLAB non richiede alcuna dichiarazione del tipo della dimensione.
Quando MATLAB incontra un nome variabile nuovo, crea automaticamente la
variabile e stanzia l'ammontare adatto in deposito. Se la variabile
già esiste, MATLAB cambia i suoi contenuti e, se necessario, effettua un nuovo
deposito.
Per esempio
num_students = 25
crea una 1-by-1 matrice di nome num_students e immagazzina il valore 25 come suo
singolo elemento.
I nomi delle variabili consistono di una lettera, seguita da qualsiasi numero di lettere, cifre o
sottolinea. MATLAB usa solamente i primi 31 caratteri di un nome di una variabile.
MATLAB è case sensitive; distingue tra uppercase e lowercase .
A e a non sono la stessa variabile. Per vedere la matrice assegnata a ciascuna
variabile, semplicemente digitare il nome della variabile.
•Numeri
MATLAB usa notazione decimale.
La notazione scientifica usa la lettera
e per specificare la potenza decimale.I numeri immaginari usano i o j, come
un suffisso. Degli esempi di numeri legali sono:
3 -99 0.0001
9.6397238 1.60210e-20 6.02252e23
1i -3.14159j 3e5i
Tutti i numeri che usano la configurazione lunga specificata dall'IEEE sono immagazzinati
internamente con lo standard floating-point.
I numeri floating-point hanno una precisione limitata di
16 cifre decimali significative e una serie limitata da 10 -308 a
10 +308. (Il computer VAX usa una configurazione diversa, ma la sua
precisione e serie sono quasi le stesse.)
•Operatori
Le espressioni usano operatori di aritmetica familiari e le regole della precedenza.
•Funzioni
MATLAB prevede un gran numero di funzioni matematiche standard,
incluso abs, sqrt, exp, e sin. La radice quadrata o il
logaritmo di un numero negativo non è un errore; il risultato complesso
è prodotto automaticamente. MATLAB prevede anche
funzioni matematiche molto più avanzate, incluso Bessel e gamma function.
La maggior parte di queste funzioni accettano argomenti complessi.
Per un elenco delle funzioni matematiche elementari, digitare:
help elfun
+ Addizione
- Sottrazione
* Moltiplicazione
/ Divisione
\ Left division
(sono descritte nella sezione su matrici e Algebra Lineare in MATLAB)
^ potenza
' Asse coniugato complesso trasposto
() Valutazione specifiche di ordine.
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. Loro 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. Lei può vedere il codice e anche cambiarlo .
Molte funzioni speciali prevedono valori di costanti utili.
Infinito è generato dividendo un valore diverso da zero per zero, o valutando bene
espressioni matematiche e definite che tendono all'infinito.
Not-a-number è 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. È possibile utilizzare alcuni di tali nomi
con una nuova variabile, come:
eps = 1.e-6
e poi usare quel valore in calcoli susseguenti.
La funzione originale può essere ripristinata con :
clear eps
Alcuni nomi sono associati aprecisi valori, come ad esempio:
pi 3.14159265…
i unità Immaginaria, Ö-1
j come i
Inf Infinito
NaN Not-a-number.
Lei già ha visto molti esempi di espressioni di MATLAB. Qui ci sono altri
esempi, ed 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.