Cos’è matlab?
Matlab (Matrix Laboratory) è un software sviluppato da MathWorks.
Un potente ambiente di calcolo con un suo linguaggio di programmazione e un ambiente grafico.
Utilizza principalmente le matrici sotto forma di scalari (1x1), vettori riga o colonna(1xn o nx1) e classiche (nxm). Sono inoltre presenti dei tipi predefiniti come ad esempio: matrice nulla, matrice identità, ecc ecc…
Grazie alle sue librerie di calcolo (algebra lineare) è possibile risolvere alcuni problemi numerici.
Come ottenerlo?
Sul sito ufficiale “linkato” precedentemente è possibile trovare informazioni sui contenuti, materiale fornito a seconda delle licenze, accesso al forum con possibilità di visualizzare e contribuire alle risposte su quesiti posti dagli utenti con una vasta selezione di corsi online con conseguente rilascio di un certificato MathWorks di partecipazione al corso.
Possiamo notare le quattro tipologie standard di licenza nella seguente tabella
TIPOLOGIA | DETTAGLI |
---|---|
Standard | Per l’autonomia di gestione dell’installazione, delle operazioni e del software in generale con la possibilità di controllare gruppi di licenze centralizzando il management. |
Education | Per personale o ricercatori appartenenti a facoltà che ne facciano uso personale. |
Home | Per uso personale con esclusione di usi accademici o commerciali. |
Student | Se sei uno studente in un istituto che rilascia diplomi e vorresti provare ad utilizzare MATLAB e le sue Utility. |
INTRODUZIONE
Dall'immagine possiamo notare l'interfaccia uomo-macchina che è stata data al software.
Sulla sinistra è presente una sotto-finestra Current Folder e Editor.
Nella prima possiamo muoverci all'interno delle cartelle e della selezione dei files. Nella seconda possiamo automatizzare Matlab tramite la scrittura di script che possono essere richiamati ed eseguiti dal Command Window proprio come nell'immagine esemplificativa.
Noterete anche la possibilità di creare gafici o figure anche tridimensionali con l'aggiunta di toolbox grafici (anche di altro genere) che garantiscono un certo grado di personalizzazione degli output.
Il Workspace visualizza le variabili utilizzate al momento con dettagli su nomi, tipo e dimensione con la possibilità di salvare, tramite file .mat, una configurazione che andremo ad utilizzare in un futuro prossimo.
All'interno della Command Window possiamo inserire dei comandi per creare nuove variabili, cancellarle, valutare un espressione, assegnare dei valori alle variabili, utilizzare le funzioni.
Operatori
SIMBOLO | SIGNIFICATO |
---|---|
+ | somma |
- | sottrazione |
* | moltiplicazione |
/ | divisione |
^ | elevamento a potenza |
Definizione di una variabile
>> x=5;
>> y=cos(3+x*pi)
y =
0.9900
Il software identifica "pi" come una costante con un valore già assegnato nella libreria, pari al numero pi greco, e la moltiplica per il valore assegnato alla variabile x (5), ci somma 3, ne fa il coseno e infine assegna il risultato alla variabile y.
Questo è il codice che è stato inserito nella Command Window; il simbolo >> rappresenta i comandi inseriti mentre "y=0.9900" è il risultato dell'operazione.
Notiamo che x non viene visualizzato come uscita e questo perché l'introduzione del punto e virgola ne nasconde la visualizzazione.
Quando ci accorgiamo di aver commesso un errore su un comando precedentemente lanciato, risulta utile far uso delle frecce su e giù per scorrere i precedenti comandi che si apriranno a tendina.
Tipi di variabili
- Interi:
Con segno | Senza segno | |
---|---|---|
8 bit | int8 | uint8 |
16 bit | int16 | uint16 |
32 bit | int32 | uint32 |
64 bit | int64 | uint64 |
Numeri a virgola mobile: single o double che occupano rispettivamente 32 e 64 bit
Caratteri: in una variabile a cui assegniamo una stringa, la stessa va indicata tra gli apici ' ' come in esempio.
>> y='example' y = 'example'
Valori logici: permettono due stati ad una variabile, vero o falso (1 o 0), e introducono degli operatori booleani.
SIMBOLO | SINTASSI |
---|---|
uguale | == |
diverso | ~= |
< | < |
≤ | <= |
> | > |
≥ | >= |
AND | & |
OR | l |
NOT | ~ |
Definizione di una matrice
>> m=[1 2 3 4;
5 6 7 8]
m =
1 2 3 4
5 6 7 8
Le matrici vanno definite nelle parentesi quadre, ogni elemento della riga è separato da uno spazio con separazione delle righe tramite punto e virgola.
Operazioni su matrici
>> m(2,3)
ans =
7
Estrae il valore dell'elemento della matrice che si trova alla riga due nella terza colonna.
Allo stesso modo esistono funzioni che sono in grado di calcolare il rango, la dimensione, il determinante e tante altre proprietà.
Sono presenti anche funzioni in grado di creare matrici identità, matrici nulle, matrici simmetriche e chi più ne ha più ne metta.
Funzioni principali
>> radice=sqrt(4)
radice =
2
>> x=tan(-5)
x =
3.3805
>> z=1+4i
z =
1.0000 + 4.0000i
Possiamo sfruttare alcune funzioni preimpostate nelle librerie fornite da Matlab come la radice, il valore assoluto, le funzioni trigonometriche, i numeri complessi e tante altre.
Grazie al comando "Help" è possibile interrogare il software che ci fornirà delle semplici risposte e condizioni di utilizzo di ogni singola funzione.
>> help abs
abs Absolute value.
abs(X) is the absolute value of the elements of X. When
X is complex, abs(X) is the complex modulus (magnitude) of
the elements of X.
See also sign, angle, unwrap, hypot.
Reference page for abs
Other functions named abs
La funzione "Clear" cancella tutte le variabili presenti nel Workspace mentre la funzione "clc" cancella lo storico presente nella Command Window.
CONCLUSIONI
L'obbiettivo di questa prima lezione è quello di fornire uno sguardo di insieme sul funzionamento base di Matlab, familiarizzare con il layout grafico per l'utente, scoprire l'utilità di alcune funzioni base e iniziare a comprendere le potenzialità di questo software.
Nella prossima lezione affronteremo il problema di importazione dati da fonti esterne con utilizzo di diversi formati, la rappresentazione grafica dei dati con anche l'utilizzo del toolbox per la personalizzazione dell'utente e analizzeremo più nel dettaglio gli strumenti di aiuto disponibili.
Introdurremo nuove funzioni o concetti in relazione all'avanzamento del corso.
Daedevils
Bibliografia e fonti
- http://www.swappa.it/wiki/Utenti/IntroduzioneAlMatlab
- http://www.dm.unibo.it/~guerrini/html/an_10_11/matlab_office-intro.pdf
- http://www.mat.unimi.it/users/alberga/01_MatlabIntro.pdf
- http://www00.unibg.it/dati/corsi/39064/81958-intromatlab.pdf
- http://www.biotec.uniba.it/area_docenti/documenti_docente/materiali_didattici/113_L02_BIOLAB_Variabili.pdf
- http://webuser.unicas.it/tortorella/elinf/PDF/tipi%20e%20variabili.pdf
- Corso di Fondamenti di Matlab al Politecnico di Milano
- Corso online Matlab Fundamentals fornito da MathWorks
Fonti immagini:
- CCO licence 1
- CCO licence 2
- Le immagini senza una fonte sono di proprietà dell'autore
CLICK HERE AND VOTE FOR "DAVINCI.WITNESS"
Ho giusto un corso di matlab questo semestre. Seguirò con attenzione questi post :)
Ne sono onorato :) se ti interessa mathworks ha dei corsi gratuiti per gli studenti tra cui matlab fundamentals con task di esercizi risolvibili con un interfaccia matlab web che ti dice anche gli errori :) @rscalabrini
Grazie ci darò un'occhiata