Home > Doc > Manuale Matlab > Espressioni

Manuale Matlab

Espressioni

Come altri linguaggi di programmazione, MATLAB prevede espressioni matematiche, ma queste espressioni coinvolgono matrici intere. Il blocco di espressioni è:

 Variabili

 Numeri

 Operatori

 Funzioni

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

elenco = 30

crea una 1-by-1 matrice di nome elenco e immagazzina il valore 30 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 ed 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 e convenzionale, con un punto decimale e opzionale ed indicando quantità positive o il segno meno, per numeri negativi. 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 il format long specificato 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 di 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.

+ 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.

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

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. Si può vedere il codice originario che le valuta ed eventualmente 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. `E 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 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. 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.

G. Ciaburro

Successivo: Lavorare con le matrici

Sommario: Index