Creazione di matrici Delimititatore di riga Delimititatore di matrice

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Dipartimento di Matematica
Metodi numerici in Matlab
Array multidimensionali
PHP.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Informatica Generale Marzia Buscemi
Introduzione a Matlab. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente specializzate.
1 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
2 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Fogli elettronici Microsoft Excel.
Iterazione enumerativa (for)
Funzioni definite dall’utente
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Introduzione a Matlab Gabriella Puppo. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente.
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Ordinamento di una lista: bubble-sort
Array Un array è una collezione in sequenza di variabili del medesimo tipo Riferimento con un nome comune Nome_studente1 Nome_studente2. Nome_studenteN.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
JavaScript: Array JavaScript: Array.
Algebra matriciale e linguaggio matriciale in MATLAB
3 a -4 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Laurea Specialistica in Ingegneria Matematica a.a
Strutture di controllo in C -- Flow Chart --
CAPITOLO 7.
Esercitazione 2 – Generazione di variabili Matlab.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX AWK Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Corso di PHP.
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
INTRODUZIONE A MATLAB.
Linguaggi di programmazione: funzioni Le funzioni richiedono un numero fisso o variabile di argomenti, ovvero valori che devono essere passati alla funzione.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Elementi di Informatica di base
Programmazione di Calcolatori
EXCEL E FTP.
Programmazione di Calcolatori
Programmazione di Calcolatori
Diagrammi 2D e 3D Funzioni di ordine superiore
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Vettori e Matrici Parte III.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sottoprogrammi Marco D. Santambrogio – Ver. aggiornata al 20 Dicembre 2013.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Lezione 3 Struttura lessicale del linguaggio
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Introduzione a Javascript
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
GLI ALGORITMI DI ORDINAMENTO
Metodologia della ricerca e analisi dei dati in (psico)linguistica 25 Giugno 2015 Introduzione ad R
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Transcript della presentazione:

Creazione di matrici Delimititatore di riga Delimititatore di matrice 1 2 3 4 5 6 7 8 9 ]; Entrambi i comandi creano la stessa matrice 3x3 DEI - Univ. Padova (Italia)

Accedere agli elementi delle matrici: coordinate 1 2 3 4 5 6 7 8 9 ]; >> A(2,1) ans = 4 >> A(2) Per accedere ad elementi di una matrice si usano le parentesi tonde Un elemento è identificato dalla sua posizione (riga,colonna), oppure dal suo indice, contando gli elementi della matrice per colonna DEI - Univ. Padova (Italia)

Accedere agli elementi delle matrici: indici Una matrice può essere vista come una sequenza di elementi in memoria che Matlab dispone in righe e colonne. Ma è possibile anche accedere ad un elemento conoscendone la posizione (l’indice) nella sequenza in memoria >> A = [... 1 2 3 4 5 6 7 8 9 ]; In matrice In sequenza Colonna 1 2 3 Riga 1 2 3 Indice 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 DEI - Univ. Padova (Italia)

Accedere agli elementi delle matrici: indici Per accedere all’elemento 3: posso utilizzare le coordinate riga-colonna, Oppure posso utilizzare il suo indice sequenziale >> A = [... 1 2 3 4 5 6 7 8 9 ]; >> A(1,3) ans= 3 >> A(7) DEI - Univ. Padova (Italia)

Sottomatrici Per accedere ad un elemento: >>x=A(3,4) assegnera’ 12 a x Per accedere ad un’intera riga, >>A(2,:) restituira’ [5 6 7 8] Per accedere ad un’intera colonna, >>A(:,3) restituira’ [3 7 11] Per accedere ad una sottomatrice, ad es.la 2X2 in basso a destra >>A(2:3,3:4) restituira’ [7 8 11 12] >>A =[ 1 2 3 4 5 6 7 8 9 10 11 12]; DEI - Univ. Padova (Italia)

Dimensioni delle variabili Vettori >>length(X); restituisce la lunghezza del vettore X o il numero di colonne di X Matrici >>[M,N]=size(X); righe e colonne della matrice X >>size(X,1); numero di righe della matrice X >>size(X,2); numero di colonne della matrice X DEI - Univ. Padova (Italia)

Stringhe Le stringhe sono sequenze di caratteri. La stringa èdelimitate dal singolo apice >> str='Introduzione a Matlab' str = Introduzione a Matlab >> DEI - Univ. Padova (Italia)

Costruzione di vettori e matrici Vettori e Matrici con elementi equispaziati >> x=0:2.5:10 x = 0 2.5000 5.0000 7.5000 10.0000 >> DEI - Univ. Padova (Italia)

Costruzione di vettori e matrici L’operatore “ : ” serve per indicare un intervallo di valori. Se non ha estremi come nell’istruzione >>x(1,:) vuol dire prendi da x la riga 1, e tutte le colonne Se prima e dopo l’operatore ci sono dei valori come in: >> 0.5:5 ans = 0.5000 1.5000 2.5000 3.5000 4.5000 vuol dire crea un vettore di numeri che cominci con 0.5, siano spaziati di 1 e abbia come estremo superiore 5 Se tra i due estremi dell’intervallo c’è un valore, esso indica lo spazio tra un valore e quello successivo: >> 1.3:0.3:2 ans = 1.3000 1.6000 1.9000 DEI - Univ. Padova (Italia)

Costruzione di vettori e matrici Conoscendo il numero di elementi necessari N, e gli estremi Min e Max dell’intervallo che si vuole campionare, si può utilizzare la funzione linspace(). Per spaziare in scala logaritmica si utilizza logspace() >> x = linspace(Min, Max, N) >> x = logspace(Min, Max, N) DEI - Univ. Padova (Italia)

Costruzione di vettori e matrici >>x=linspace(1,5,10) x = 1.00 1.44 1.88 2.33 2.77 3.22 3.67 4.11 4.56 5.00 >> >>x=logspace(1,2,5) x = 10.0000 17.7828 31.6228 56.2341 100.0000 >> DEI - Univ. Padova (Italia)

Operatori logici Gli operatori logici più comuni sono: & : and logico | : or logico ~ : not logico >> a | b ans = 1 1 0 1 >> a & b 0 1 0 1 >> ~b 0 0 1 0 >> a=[0,1,0,3]; >> b=[1,1,0,3]; DEI - Univ. Padova (Italia)

Operatori relazionali Gli operatori relazionali più comuni sono: == uguale ~= diverso da < minore di <= minore o uguale > maggiore >= maggiore o uguale >> a=[0,1,2,3]; >> b=[1,1,3,3]; >> a>b ans = 0 0 0 0 >> b>a 1 0 1 0 >> DEI - Univ. Padova (Italia)

Operatori booleani In generale gli operatori logici e relazionali si chiamano booleani, perché il risultato della loro applicazione può avere assumere solo due valori: - 1 equivalente a VERO - 0 equivalente a FALSO ATTENZIONE! Quando applico operatori booleani a dei vettori o a delle matrici, l’operatore è applicato ad ogni elemento della matrice se è unario, e a coppie di elementi corrispondenti delle matrici se è binario DEI - Univ. Padova (Italia)

Operatori logici: esempio Controlla se almeno uno tra gli elementi corrispondenti di a e b è diverso da 0: >> a | b ans = 1 1 0 1 Controlla se entrambi gli elementi corrispondenti di a e b sono diversi da 0: >> a & b 0 1 0 1 Controlla quale elemento b è non diverso da zero, cioè uguale a 0: >> ~b 0 0 1 0 >> a=[0,1,0,3]; >> b=[1,1,0,3]; DEI - Univ. Padova (Italia)

Operatori relazionali: esempio Controlla quale elemento di a è maggiore stretto del suo corripondente in b >> a>b ans = 0 0 0 0 Controlla quale elemento di b è maggiore stretto del suo corripondente in a >> b>a 1 0 1 0 >> a=[0,1,0,3]; >> b=[1,1,1,3]; DEI - Univ. Padova (Italia)

Ricerca di elementi Per trovare le coordinate di elementi di una matrice rispondenti a determinate caratteristiche posso utilizzare la funzione find(), che restituise l’indice sequenziale degli elementi nel caso si richieda un solo valore in uscita, e le coordinate riga-colonna nel caso se ne richiedano due: indice = find(expr); [riga, colonna] = find (expr); DEI - Univ. Padova (Italia)

Ricerca di elementi: esempio 0 1 0 3 2 4 6 8 >> n=find(A>3) n = 4 6 8 >> >>[r,c]=find(A>3) r = 2 c = 3 4 >> DEI - Univ. Padova (Italia)

Tipi di m-files: scripts Uno script è un file di testo con estensione .m che contiene una sequenza di istruzioni Matlab. Per eseguire le istruzioni contenute nello script bisogna scrivere il nome del file (senza l’estensione .m) al prompt di Matlab. Sono anche chiamati M-files Sono utili per automatizzare dei blocchi di istruzioni Matlab che si devono eseguire ripetitivamente dal prompt dei comandi. Possono operare su variabili e dati presenti nello spazio di lavoro, e crearne di nuovi. Qualsiasi variabile creata nello script rimane nel workspace, ed ogni modifica a variabili nel workspace rimane alla fine dello script DEI - Univ. Padova (Italia)

Tipi di m-files: funzioni Una funzione di Matlab è anch’essa un file di testo con estensione .m che contiene una sequenza di istruzioni Matlab. Si differenzia da uno script in quanto il suo scopo principale è quello di produrre uno o più valori a partire da determinati dati di ingresso (cosa che stabilisce un'analogia con l'omonimo concetto della matematica), Sono utili per automatizzare dei blocchi di istruzioni Matlab che si devono eseguire ripetitivamente dal prompt dei comandi. Possono operare solo sui dati forniti come ingresso alla funzione e sulle variabili locali create all’interno della funzione Qualsiasi variabile creata nella funzione, ad eccezione di quelle esplicitamente restituite, sono eliminate con il termine della funzione (località delle variabili) DEI - Univ. Padova (Italia)

Tipi di m-files: funzioni Un m-file che contiene una funzione deve avere come prima istruzione la dichiarazione della funzione: function [out1, out2, ...] = nomefunzione(in1, in2, ...) Seguono poi le istruzioni che possono agire solo su variabili create all’interno della funzione Parametri di ingresso in1, in2, … Devono essere create le variabili di uscita out1, out2 , … Il nome dell’m-file deve essere uguale al nome della funzione nomefunzione DEI - Univ. Padova (Italia)

Funzioni esempio: File miestat.m % Creo una funzione che calcola % media e deviazione standard % di un vettore vect function [ m, s ] = miestat(vect); % Calcolo la media m = sum(vect)/length(vect); % Calcolo la dev. standard var = sum((vect-m).^2)/(length(vect)-1); s=sqrt(var); return DEI - Univ. Padova (Italia)

Funzioni esempio: I commenti cominciano con % E’ parte di codice che non viene interpretato come istrizioni, e non è eseguito % Creo una funzione che calcola % media e deviazione standard % di un vettore vect function [ m, s ] = miestat(vect); … return Argomenti di ingresso alla funzione. Sono gli unici dati presenti all’esterno del codice della funzione utilizzabili e conosciuti anche all’interno Nome identificativo della funzione Indica la fine della funzione Indica che si sta definendo una funzione Valori di uscita della funzione. Sono le uniche variabili definite all’interno della funzione che saranno disponibili una volta terminata la funzione DEI - Univ. Padova (Italia)

Utilizzare una funzione Al prompt dei comandi >> x=[1,2,3,4,8,6]; >> [media, stdev]=miestat(x); >> media media= 4 >> stdev stdev = 2.6077 >> DEI - Univ. Padova (Italia)

Utilizzare una funzione ATTENZIONE! Se si assegnano all’uscita di una funzione meno variabili di quelle che potrebbe restituire, quelle non assegnate saranno perdute. Ad esempio se utilizzando la funzione miestat assegnassi una sola variabile alla sua uscita, avrei: >> x=[1,2,3,4,8,6]; >> media=miestat(x); >> media media= 4 >> DEI - Univ. Padova (Italia)

Ordinamento: selection-sort Seleziona l’elemento più piccolo nell’array Scambia l’elemento selezionato con il primo Ordina la parte restante dell’ array, cioè riduco la parte di array da considerare, escludendo le prime posizioni già ordinate DEI - Univ. Padova (Italia)

Ordinamento: selection-sort Passo 1a: trovo il minimo dell’array. prova[0] prova[1] prova[2] prova[3] prova[4] 14 87 1 27 22 minimo Passo 1b: scambio il minimo con il primo elemento. prova[0] prova[1] prova[2] prova[3] prova[4] 14 87 1 22 27 DEI - Univ. Padova (Italia)

Ordinamento: selection-sort Passo 2: riduco l’array da considerare per l’ordinamento e ripeto il passo 1 prova[0] prova[1] prova[2] prova[3] prova[4] 1 87 14 27 22 Parte ordinata prova[0] prova[1] prova[2] prova[3] prova[4] 1 87 14 27 22 DEI - Univ. Padova (Italia)

Ordinamento: selection-sort Passo 2: riduco l’array da considerare per l’ordinamento e ripeto il passo 1 prova[0] prova[1] prova[2] prova[3] prova[4] 1 14 87 27 22 Parte ordinata prova[0] prova[1] prova[2] prova[3] prova[4] 1 14 87 27 22 DEI - Univ. Padova (Italia)

Selection sort in Matlab function yout=SelectionSort(xin); yout=xin; n=length(yout); for ct=1:n-1, [val,pos]=findmin(yout,ct); yout(pos)=yout(ct); yout(ct)=val; end; return; function [val,pos]=findmin(xin,ind) pos=ind; val=xin(ind); for ct=ind:length(xin), if(xin(ct)<val), val=xin(ct); pos=ct; end; return; DEI - Univ. Padova (Italia)