Visualizzazioni Totali

TRA I PRIMI IN ITALIA A PARLARE DI BITCOIN (DAL 2012!): PER ESSERE SEMPRE AGGIORNATI SULLE NOVITA' TECNOLOGICHE DEL WEB SEGUITE LA PAGINA FACEBOOK (LINK A SINISTRA)

giovedì 14 dicembre 2017

Cos'è Matlab: Matrici ed Operazioni Eseguibili (Guida)

Matlab (cioè Matrix Laboratory) è un ambiente di calcolo nato originariamente nel 1984 e sviluppato per gestire oggetti di tipo matriciale.
La struttura di base è la matrice per la quale sono già predefinite numerosi tipi elementari
(identità, matrice nulla, matrice unità, etc) funzioni algebriche e quant'altro.
Il software fa largo uso di librerie di calcolo (in particolar modo di algebra lineare) per risolvere
problemi numerici,

Scaricato il software (Matlab (Download)) basta schiacciare sull'icona per avviarlo.
All’avvio appare il Desktop di Matlab che contiene le finestre:
1) dei comandi (command window)
2) dello spazio di lavoro (workspace window)
3) della directory corrente (current directory)
4) della storia dei comandi (command history)

La finestra workspace elenca tutte le variabili presenti nello spazio di lavoro insieme ad alcune informazioni su di esse (dimensioni,tipo, memoria, etc).
E’ possibile modificare il valore di una variabile utilizzando l’apposito workspace array editor.
La finestra Command History contiene una lista dei comandi digitati con funzioni di copia ed incolla.
Tramite la finestra Current Directory è possibile spostarsi tra le cartelle come con un qualsiasi File
Manager.

Per terminare la sessione di lavoro basta digitare il comando quit dal prompt.
Nella command window vengono digitati i comandi:

– valutazione di un’espressione
– assegnazione di un valore ad una variabile
– esecuzione di una funzione

E poi eseguiti tramite il tasto invio.


ISTRUZIONI ELEMENTARI
Assegnazione del valore 3 alla variabile a:
 >> a = 3
a =
3

Valutazione di un’espressione:
>> b=a*2
b =
6

Le informazioni (dati in forma numerica o alfanumerica) vengono memorizzati nella RAM utilizzando quelle che vengono chiamate nei linguaggi di programmazioni “variabili”.
Una variabile ha due caratteristiche: il nome e il valore (cioè il dato che essa rappresenta e che
viene memorizzato nella RAM).


GESTIONE DEI FILES
>> dir - visualizza il contenuto della directory corrente
>> what – visualizza i files di tipo Matlab nella directory corrente
>> cd – permette di spostarsi nell’albero delle directory
>> pwd – ritorna la directory corrente
>> type nomefile – visualizza il contenuto del file


VARIABILI IN MATLAB
Matlab lavora tramite espressioni, convertendole in variabili, più precisamente qualsiasi dato è trattato come una variabile.
Ogni variabile viene conservata in memoria nel workspace.
Lista delle variabili del workspace: who
Salvare il workspace (o alcune variabili): save <file> <var1> <var2> …
Caricare variabili salvate da disco: load <file>



MATRICI
Per creare una matrice 4 x 4:

>> A = [16, 3, 2, 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
 16 3 2 13
 5 10 11 8
 9 6 7 12
 4 15 14 1

Vettori riga e colonna:
riga = [1 2 3 4];
colonna = [1;2;3;4];
b=[1,2,3,4]‘;


OPERAZIONI MATRICIALI
Altre funzioni:

Trasposta: A'
Diagonale: diag(A)
Dimensioni di A
Numero righe e colonne: size(A)
Numero righe: size(A,1)
Per i vettori: length(b)

Altre matrici usate:
 Matrice di uno: ones(m,n)
 Matrice di zero: zeros(m,n)
 Matrice identità: eye(n)
 Matrice vuota: X=[]




ELEMENTI DI UNA MATRICE
Singolo elemento:
 >> A(1,2)
3
>> A(end, end)
1

Per una sottomatrice:
>>A(1:3 , 2:4)
ans =
 3 2 13
10 11 8
 6 7 12

Per selezionare la prima riga:
>> A(1,:)
ans =
 16 3 2 13

Per selezionare la prima colonna:
>> A(:,1)
ans =
 16
 5
 9
 4
Sottomatrici (richiamo la 2a e 4a riga):
>> A([2,4],:)
ans =
 5 10 11 8
 4 15 14 1

In questo caso abbiamo considerato la matrice:
A =
 15 3 2 13
 5 10 11 8
 9 6 9 11
 4 15 14 1


Per accedere a intere righe o colonne di una matrice, si usa la wildcard “:”


OPERATORI
Operazioni su matrici:
Operatori +,-,*
* è il prodotto matriciale (righe per colonne)!
A[m*n] * B[n*p] = C[m*p]
Inversa di matrice: inv(A) (Per questa matrice A non esiste)
Se non è invertibile si può calcolare la pseudoinversa: pinv(A)
Determinante: det(A)
Autovalori: eig(A)

Normalmente le operazioni *, / sono operazioni matriciali.
Per eseguire operazioni elemento per elemento si antepone il punto (.) all’operatore.
L’operazione viene eseguita fra i singoli elementi delle matrici.

A[m*n] * B[m*n] = C[m*n]

Ad esempio, se ho:
>>A=[1,2;3,4]
A =
 1 2
 3 4

Per svolgere un operazione matriciale:
>> A*A
ans =
 7 10
 15 22

Invece elemento per elemento:
>> A.*A
ans =
 1 4
 9 16


VETTORI
Tramite i vettori posso rappresentare dei polinomi (un polinomio è descritto dal vettore dei suoi coefficienti) e dei segnali (un segnale è rappresentato mediante la sequenza dei valori che
assume in un insieme di istanti di tempo, quindi mediante un vettore).
E’ possibile definire dei vettori con numeri a intervalli regolari:
c=[1:2:8]

c =
1 3 5 7

d=[1:5,2:2:10,2]
d =
1 2 3 4 5 2 4 6 8 10 2

e=[3.2:-.1:2.5]
e =
3.2 3.1 3.0 2.9 2.8 2.7 2.6 2.5

Ciò è utile per: la selezione degli elementi di una matrice e la generazione di vettori “temporali” equispaziati.


OPERAZIONI TRA POLINOMI
Sono definiti come vettori, se ho: s^4 + 2s^3 - 5s^2 - 2s + 1

>>pol=[1 2 -5 -2 1]
pol=
1 2 -5 -2 1

Calcolo delle radici:
>>roots(pol)
>>ans=
 -5.5745
 2.5836
 -0.7951
 0.7860


Valutazione in un punto:
>> polyval(pol,0)
>> ans=
 9

Prodotto di polinomi (conv), ovvero avendo (s+1) (s+1)= s^2 + 2s +1:
>>pol1=[1 1]; pol2=[1 1];
>>polprod=conv(pol1,pol2)
polprod=
1 2 1

Nessun commento:

Posta un commento