RETI DI TELECOMUNICAZIONE



Documenti analoghi
FON DAMEN TI DI IN FORMATICA

UD6 - MATLAB. Gestione della grafica

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

MATLAB (1) Introduzione e Operazioni con array

Finestre grafiche. >> figure >> figure(n)

MATLAB (3) - Grafica 2 e 3D

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

Dati importati/esportati

Introduzione al MATLAB c Parte 2

Grafici tridimensionali

Lab. 1 - Introduzione a Matlab

Tutorial. Mathworks Matlab

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Laboratorio di Matematica Computazionale A.A Lab. 1 - Introduzione a Matlab

Lezioni su MATLAB. Ingegneria Civile/Meccanica

Grafici in matlab. Un esempio di grafico: xv = 3:0.1:3; yv = xv.^3 5*xv.^2 + 4; plot(xv,yv) xlabel('value of x') ylabel('value of y')

Laboratorio di Matlab

Potenzialità statistiche Excel

MATLAB - Programmazione - 2. Antonino Polimeno

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

Software per le Telecomunicazioni

INTRODUZIONE A MATLAB Matrix Laboratory

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Introduzione al Foglio Elettronico

FORMULE: Operatori matematici

La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato

MATLAB MATLAB. MATLAB: MAtrix LABoratory Cosa è MATLAB? Usi tipici:

Test Excel conoscenze di Base

Operazioni su stringhe

Creare diagrammi di Gantt con Visio 2003

Microsoft Excel. Sommario. Cosa è un foglio elettronico. L interfaccia Utente. La cartella di Lavoro. Corso di introduzione all informatica

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Cosa è un foglio elettronico

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 3

Rapida Introduzione all uso del Matlab Ottobre 2002

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Introduzione a Matlab

Introduzione a MATLAB INTRODUZIONE A MATLAB

Laboratorio di Matematica Computazionale A.A Laboratorio nr.8

Richiesta pagina PHP (es: index.php)

Funzioni in C. Violetta Lonati

Alcune regole di base per scrivere un programma in linguaggio C

Introduzione a MATLAB. Il Laboratorio. MATLAB Cos è? Oltre alle lezioni. Octave ( ) Scilab ( )

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

Scilab: La Grafica. Corso di Informatica CdL: Chimica. Claudia d'amato.

Introduzione a Matlab

Cenni sull'impiego di Matlab. Matrici

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali

Laboratorio Algoritmi 2014 Secondo Semestre

Unità di Misura Basso a Sinistra Alto a Destra Lunghezze Angoli Griglia Snap 0, ,21000 Decimali Gradi Decimali

Argomenti Microsoft Word

Introduzione agli ambienti

Matlab: Strutture di Controllo. Informatica B

Introduzione. Corso di Metodi Numerici. 06 Marzo 2019

Laboratorio per l Elaborazione MultiMediale Lezione 1 - Introduzione a Matlab R

Appunti sull uso di matlab - I

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

Funzioni definite dall utente: sintassi

Ipsia Monza via Monte Grappa Monza (MI) tel fax Corsi CAD 2D Base. Struttura modulare

BOZZA Introduzione a MATLAB

Fogli Elettronici: MS Excel utilizzo avanzato

Introduzione a Matlab Parte 1

EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE Foglio elettronico Livello avanzato

Laboratorio di Matlab

Il foglio elettronico: Excel

Prof.ssa Paola Vicard

Scopo dell esercitazione

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Informatica. Rappresentazione dei numeri Numerazione binaria

Formattazione e Stampa

A cura di Andrea Di Ferdinando

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

L utility Unix awk [Aho-Weinberger-Kernighan]

Ciclo di seminari: Metodi Computazionali per la Finanza

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Modulo: Fogli elettronici

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Introduzione al MATLAB c Parte 1

Introduzione a Matlab

Microsoft Excel Nozioni di base

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

MATLAB: Una veloce introduzione (Parte II)

1. Le macro in Access 2000/2003

FONDAMENTI DI SEGNALI E TRASMISSIONE 6 Laboratorio

EXCEL FINESTRA DI EXCEL BARRE PRINCIPALI CARTELLA DI LAVORO BARRE DI SPOSTAMENTO

Parte IV. I fogli elettronici e Excel

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA D INFORMATICA A.S. 2013/14 - CLASSE: I R - Indirizzo Scienze applicate

Introduzione a MATLAB

2 - Modifica Annulla Selezione finestra. S.C.S. - survey CAD system FIGURA 2.1

Introduzione al Linguaggio C

Utilizzo delle formule in Excel

Capitolo 1. Il MATLAB. 1.1 Introduzione al MATLAB

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

INTRODUZIONE A EXCEL ESERCITAZIONE I

Prova di informatica & Laboratorio di Informatica di Base

Transcript:

RETI DI TELECOMUNICAZIONE NOZIONI ELEMENTARI DI MATLAB Cos è MATLAB Il nome MATLAB sta per MATrix LABoratory E un linguaggio ad alta prestazione per l elaborazione tecnica E un sistema interattivo il cui elemento di base è un vettore che non richiede dimensionamento. Questo permette di risolvere molti problemi di elaborazione tecnica, specialmente quella che richiedere elaborazione di matrici e vettori, in un tempo molto più breve rispetto a quello richiesto dalla stesura di un programma in un linguaggio scalare non interattivo come il C o il Fortran Nozioni elementari di MatLab 2 1

Il Sistema MATLAB Il linguaggio Linguaggio ad alto livello con istruzioni per il controllo di flusso, funzioni, strutture dati, input/output e caratteristiche di programmazione orientate all oggetto L ambiente di lavoro Gestire le variabili, importare o esportare dati Sviluppo, gestione, debugging, profiling delle applicazioni Il gestore dei grafici Comandi ad alto livello per visualizzazione bidimensionale e tridimensionale, elaborazione delle immagini, animazione e presentazione di grafici La libreria delle funzioni matematiche Algoritmi per risolvere funzioni dalle più elementari alle più complesse L interfaccia ai programmi applicativi Libreria che permette di far comunicare MATLAB con altri programmi scritti in linguaggio C o Fortran Nozioni elementari di MatLab 3 Gestione delle Matrici Metodi per l introduzione delle matrici: inserimento esplicito dei valori delle matrici bisogna osservare le semplici regole: separare gli elementi di una riga con spazi o virgole utilizzare il punto e virgola ; per indicare la fine di una riga delimitare l intera lista di elementi utilizzando le parentesi quadre [ ] Esempio: A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] caricamento delle matrici da file esterni generazione automatica delle matrici usando funzioni interne creazione di matrici usando le proprie funzioni Nozioni elementari di MatLab 4 2

Matrice somma, trasposta e diagonale Somma degli elementi delle colonne sum(a) Somma degli elementi delle righe Matlab tipicamente opera sulle colonne di una matrice, quindi per ottenere la somma degli elementi delle righe il metodo più semplice è quello di costruire la matrice trasposta e quindi effettuare la somma degli elementi delle colonne Matrice trasposta A, quindi la somma degli elementi delle righe si può ottenere con l operazione: sum(a')' Estrazione della diagonale diag(a) Nozioni elementari di MatLab 5 Elementi di una matrice L elemento nella riga i e nella colonna j della matrice A viene denotato con la notazione: A(i,j) E possibile fare riferimento ad un intera riga utilizzando un solo indice A(k) Se si cerca di utilizzare il valore di un elemento fuori della matrice si produce un errore Se invece si memorizza un valore in un elemento fuori della matrice questa automaticamente si ridimensiona per includerlo Nozioni elementari di MatLab 6 3

L operatore due punti : E sicuramente il più importante operatore dell ambiente Matlab, permette: creare vettori di interi con passo unitario: 1:10 creare vettori con passo specificato: 100:-7:50 0:pi/4:pi fare riferimento a colonne o porzioni di matrici: A(1:k,j) si può utilizzare l operatore speciale per fare riferimento all ultima riga o colonna di una matrice: sum(a(:,)) Nozioni elementari di MatLab 7 Espressioni 1/3 Le espressioni riguardano operazioni su intere matrici, i blocchi fondamentali sono: Variabili non sono richiesti dichiarazione e dimensionamento, quando Matlab incontra una nuova variabile alloca lo spazio necessario per memorizzarla, quando viene effettuato un assegnamento Matlab si occupa, se necessario di allocare ulteriore spazio in memoria Numeri notazione decimale convenzionale, la notazione scientifica usa la lettera e per specificare il fattore di scala come potenza di dieci ; i numeri immaginari sono indicati con il suffisso i o j: 3-99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i Nozioni elementari di MatLab 8 4

Espressioni 2/3 Operatori + Addizione, - Sottrazione, * Moltiplicazione, / Divisione, \ Divisione sinistra, ^ Potenza, ' Trasposta coniugata, ( ) Ordine di valutazione Funzioni Matlab fornisce un numero elevato di funzioni matematiche elementari help elfun Molte funzioni avanzate (Bessel, gamma), sono implementate a partire dalle funzioni elementari help specfun Funzioni costanti: pi 3.14159265, i unità immaginaria, j come i, eps 2-52 (precisione relativa in virgola mobile), realmin 2-1022 (numero più piccolo in virgola mobile), realmax (2-ε)2 1023 (numero più grande in virgola mobile) Inf infinito NaN non-un-numero Nozioni elementari di MatLab 9 Espressioni 3/3 Esempi di espressioni: rho = (1+sqrt(5))/2 a = abs(3+4i) z = sqrt(besselk(4/3,rho-i)) huge = exp(log(realmax)) toobig = pi*huge Nozioni elementari di MatLab 10 5

Generazione di Matrici Matlab fornisce quattro funzioni per generare matrici di base: zeros matrice i cui elementi sono tutti zero ones matrice i cui elementi sono tutti uno rand matrice i cui elementi sono casuali e uniformemente distribuiti randn matrice i cui elementi sono casuali e distribuiti secondo una distribuzione gaussiana normalizzata Alcuni esempi Z = zeros(2,4) F = 5*ones(3,3) N = fix(10*rand(1,10)) R = randn(4,4) Nozioni elementari di MatLab 11 Lavorare con le matrici Il comando load permette il caricamento di matrici generate durante sessioni precedenti di Matlab o legge file di testo contenenti dati numerici Il processo di concatenazione permette di creare matrici più grandi a partire da matrici di dimensione più piccola, l operatore di concatenazione è la parentesi quadra [] : B = [A A+32; A+48 A+16] Si possono cancellare righe o colonne da una matrice utilizzando una coppia di parentesi quadre vuota: X(:,2) = [] Nozioni elementari di MatLab 12 6

Comando format: Command Window controlla il formato numerico dei valori visualizzati in Matlab: format short, format short e, format short g, format long, format long e, format long g, format bank, format rat, format hex, format compact Per eseguire l elaborazione senza visualizzare il risultato utilizzare l operatore punto e virgola ; Per suddividere una lunga espressione su più linee utilizzare l operatore tre punti Nozioni elementari di MatLab 13 Grafici 1/8 La funzione plot ha differenti forme che dipono dal numero degli argomenti: se y è un vettore, plot(y) fornisce il grafico dei valori contenuti nel vettore y al variare dell indice del vettore se si specificano due vettori delle stesse dimensioni la funzione plot(x,y) fornisce il grafico dei valori contenuti nel vettore y al variare dei valori contenuti nel vettore x: t = 0:pi/100:2*pi; y = sin(t); plot(t,y) Utilizzando una singola chiamata alla funzione plot si possono creare grafici multipli: y2 = sin(t-.25); y3 = sin(t-.5); plot(t,y,t,y2,t,y3) Nozioni elementari di MatLab 14 7

Grafici 2/8 La funzione plot permette anche di specificare il colore, lo stile della linea e dei punti del grafico: plot(x,y,'colore_stile_formatopunto') colore_stile_formatopunto è una stringa di 1, 2 o 3 caratteri che specifica: il colore, ad esempio 'c', 'm', 'y', 'r', 'g', 'b', 'w', e 'k, rispettivamente per ciano, fucsia, giallo, rosso, verde, blu, bianco, e nero lo stile, ad esempio '-' intera, '- -' tratteggiata, ':' punto-punto, '-.' linea punto, e 'none' per nessuna linea il formato del punto, ad esempio '+', 'o', '*', o 'x' Comando figure: apre una nuova finestra grafica e la re disponibile per le successive chiamate alla funzione plot figure(n) attiva la finestra n per le successive chiamate alla funzione plot Nozioni elementari di MatLab 15 Grafici 3/8 Funzione hold permette di aggiungere grafici a figure esistenti [x,y,z] = peaks; contour(x,y,z,20,'k') hold on pcolor(x,y,z) shading interp Funzione subplot permette di disegnare più grafici nella stessa finestra subplot(m,n,p): divide la finestra grafica in una matrice m per n e re disponibile l elemento p per le successive chiamate della funzione plot t = 0:pi/10:2*pi; [X,Y,Z] = cylinder(4*cos(t)); subplot(2,2,1); mesh(x) subplot(2,2,2); mesh(y) subplot(2,2,3); mesh(z) subplot(2,2,4); mesh(x,y,z) Nozioni elementari di MatLab 16 8

Grafici 4/8 Argomenti Complessi alla funzione plot quando gli argomenti della funzione plot contengono numeri complessi la parte immaginaria viene ignorata eccetto il caso in cui alla funzione viene passato come argomento un singolo vettore di elementi complessi, in questo caso la funzione effettua il grafico della parte immaginaria in funzione della parte reale: t = 0:pi/10:2*pi; plot(exp(i*t),'-o') Nozioni elementari di MatLab 17 Grafici 5/8 Funzione axis: permette di controllare la scala, l orientamento e il rapporto fra le coordinate per i grafici normalmente Matlab determina i valori minimi e massimi degli assi quando viene disegnato un grafico, questi valori possono essere alterati utilizzando la chiamata: axis([xmin xmax ymin ymax]) Un numero di parole chiave permettono un ulteriore controllo dell aspetto del grafico, ad esempio: axis square: re gli assi x e y delle stesse dimensioni axis equal: re della stessa lunghezza nello schermo le dimensioni del passo axis off: cancella gli assi dal grafico axis on: inserisce gli assi nel grafico Nozioni elementari di MatLab 18 9

Grafici 6/8 Funzione grid Con i due argomenti off e on permette di visualizzare o meno la griglia Etichette degli assi e titoli del grafico le funzioni xlabel, ylabel, e zlabel permettono di etichettare gli assi rispettivi la funzione title aggiunge un titolo alla figura la funzione text permette di inserire del testo ovunque nella figura t = -pi:pi/100:pi; y = sin(t); plot(t,y) axis([-pi pi -1 1]) xlabel('-\pi \leq \itt \leq \pi') ylabel('sin(t)') title( Grafico della funzione seno') text(1,-1/3,'\it{notare la simmetria dispari.}') Nozioni elementari di MatLab 19 Grafici 7/8 La funzione mesh permette di realizzare grafici tridimensionali colorando solo le linee che connettono i punti della funzione La funzione surf permette di realizzare grafici tridimensionali colorando anche le superfici dell immagine La funzione meshgrid permette di determinare il dominio che deve essere passato alle funzioni precedenti [X,Y] = meshgrid(-8:.5:8); R = sqrt(x.^2 + Y.^2) + eps; Z = sin(r)./r; mesh(x,y,z) surf(x,y,z) Nozioni elementari di MatLab 20 10

Grafici 8/8 I vettori bidimensionali possono essere visualizzati come immagini load durer whos image(x) colormap(map) axis image load detail colormap(hot) Il comando print permette di stampare immagini o di esportarle in file secondo i più utilizzati formati di memorizzazione (fra cui Encapsulated Level 2 PostScript) print -depsc2 magicsquare.eps Nozioni elementari di MatLab 21 Help e documentazione on line Il comando help Il comando lookfor Il comando doc La finestra di help Le pagine di riferimento MATLAB Link al sito The MathWorks, Inc. Nozioni elementari di MatLab 22 11

L ambiente Matlab Il WorkSpace E l area di memoria accessibile dalla linea di comando Matlab I comandi who e whos permettono la visualizzazione del contenuto di quest area Per cancellare l intero workspace utilizzare il comando clear Il comando save Permette di memorizzare il contenuto dell intero workspace in un file, tipicamente le variabili sono memorizzate in formato binario; utilizzando l opzione ascii si può conservare l area di memoria in formato testo Il path E l insieme delle cartelle nelle quali Matlab cerca le funzioni e i file Nozioni elementari di MatLab 23 Ancora sulle matrici e i vettori Operazioni elemento per elemento si ottengono antepono un punto all operatore desiderato: A.*A Funzione find permette di individuare gli indici di un vettore i cui elementi corrispondono alle specificate condizioni logiche k = find(isprime(a)) Nozioni elementari di MatLab 24 12

Istruzione if Controllo di flusso 1/5 if A > B 'greater' elseif A < B 'less' elseif A == B 'equal' else error('unexpected situation') Nozioni elementari di MatLab 25 Istruzione switch Controllo di flusso 2/5 switch (rem(n,4)==0) + (rem(n,2)==0) case 0 M = odd_magic(n) case 1 M = single_even_magic(n) case 2 M = double_even_magic(n) otherwise error('this is impossible') Nozioni elementari di MatLab 26 13

Istruzione for Controllo di flusso 3/5 for i = 1:m for j = 1:n H(i,j) = 1/(i+j); Nozioni elementari di MatLab 27 Istruzione while while b-a > eps*b Controllo di flusso 4/5 x = (a+b)/2; fx = x^3-2*x-5; if sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; Nozioni elementari di MatLab 28 14

Istruzione break Controllo di flusso 5/5 while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if fx == 0 break elseif sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; Nozioni elementari di MatLab 29 Altre strutture dati Vettori multidimensionali Vettori di celle Testo e caratteri Strutture Nozioni elementari di MatLab 30 15

Script e Funzioni 1/2 Entrambi rappresentano dei file che contengono codice scritto in linguaggio Matlab Script non accettano e non ritornano argomenti, lavorano con le variabili incluse nel workspace r = zeros(1,32); for n = 3:32 r(n) = rank(magic(n)); bar(r) Nozioni elementari di MatLab 31 Script e Funzioni 2/2 Funzioni Generalmente accettano argomenti di ingresso e ritornano argomenti d uscita function r = rank(a,tol) % RANK Matrice rango % RANK(A) fornisce una stima del numero di linearità % indipenti di righe o colonne della matrice A. % RANK(A,tol) è il numero di valori singolari di % che sono più grandi di tol % RANK(A) utilizza per default % tol = max(size(a)) * norm(a) * eps. s = svd(a); if nargin==1 tol = max(size(a)) * max(s) * eps; r = sum(s > tol); Nozioni elementari di MatLab 32 16