Laboratorio 1. Introduzione a Matlab
|
|
|
- Lidia Gori
- 9 anni fa
- Visualizzazioni
Transcript
1 Anno Accademico Corso di Analisi 1 per Ingegneria Informatica Laboratorio 1 Introduzione a Matlab MATLAB, abbreviazione di MATrix LABoratory, è un ambiente per il calcolo numerico ed un linguaggio di programmazione (interpretato). Consente la manipolazione di matrici, la visualizzazione di dati e funzioni, e l implementazione di algoritmi; inoltre sono disponibili toolbox per l elaborazione di segnali, immagini, il progetto di sistemi di controllo... 1 Calcolo di espressioni con Matlab Possiamo usare Matlab semplicemente come una calcolatrice eseguendo operazioni dalla Command Window, ad esempio: >> ans= La moltiplicazione si esegue con *; con il simbolo / dividiamo il primo termine per il secondo, con il simbolo \ viceversa. L elevamento a potenza si indica con ˆ. Per estrarre la radice quadrata di un numero possiamo utilizzare quindi due comandi: >>sqrt(4) oppure >>4ˆ0.5 Con il comando exp(2) calcoliamo l espressione e 2, con il comando log(5) calcoliamo il logaritmo naturale di 5. log10(...) calcola il logaritmo in base 10, log2(...) il logaritmo in base 2. Sono definite anche funzioni trigonometriche fra cui seno (sin), coseno (cos), tangente (tan) e arcotangente (atan,atan2). Tutti i calcoli in Matlab vengono eseguiti in doppia precisione, ma è possibile scegliere diversi formati di visualizzazione. Il formato standard è short, virgola fissa con 5 cifre. Digitando >>format long passiamo al formato virgola fissa, 15 cifre; con i comandi format short e, format long e abbiamo invece la visualizzazione in virgola mobile, rispettivamente con 5 e 15 cifre. 1
2 2 Definizione di variabili In Matlab per assegnare un valore ad una variabile non è necessario dichiararla; è sufficiente digitare ad esempio >>a=0.55 a= I nomi delle variabili possono essere composti da numeri e lettere, devono iniziare con una lettera ed esiste la distinzione fra maiuscole e minuscole. Il comando who mostra un elenco delle variabili esistenti; con il comando whos otteniamo anche informazioni sul tipo di variabile (intero, double, char), sulla dimensione di eventuali array e sulla memoria occupata. Il comando clear seguito dal nome di una variabile la elimina; clear all elimina tutte le variabili definite. 3 Vettori e matrici Per inserire un vettore digitiamo: >>v=[1,2,3,4] con questo comando (la virgola o uno spazio vuoto fra gli elementi sono equivalenti) otteniamo un vettore riga; per ottenere un vettore colonna si può scrivere >>v=[1;2;3;4] >>v oppure inserire un vettore riga e farne il trasposto utilizzando l apice ( ): Osservazione: se il comando è seguito da ; il risultato non viene stampato sullo schermo. Per inserire una matrice digitiamo: >>A=[1,2,3;4,5,6;7,8,9] usiamo la virgola o uno spazio per separare gli elementi di una riga, e il punto e virgola per cambiare riga. Si può anche passare alla riga successiva semplicemente premendo invio. Supponiamo, definita la matrice A, di voler modificare l elemento in posizione(2,3): >>A(2,3)=-6 A= In Matlab se utilizziamo il simbolo * con matrici e vettori eseguiamo il prodotto righe per colonne, se le dimensioni delle matrici sono compatibili. Per esempio, definiamo un vettore riga ed un vettore colonna: >>a=[1 2 3]; >>b=[-1;0;-1]; 2
3 Con il comando >>a*b eseguiamo il prodotto scalare, con il comando >>b*a otteniamo una matrice (prodotto tensore). Se vogliamo eseguire il prodotto, o una qualsiasi altra operazione componente per componente, aggiungiamo un punto prima dell operatore; per esempio, digitando: >>a.ˆ 2 otteniamo un vettore che contiene i quadrati delle componenti di a. Cosa succede se cerchiamo di eseguire lo stesso comando senza punto? 4 Grafici di funzioni Supponiamo di voler disegnare il grafico della funzione x 2 per x [ 2,2]. Definiamo un vettore di punti equispaziati compresi fra 2 e 2 con il seguente comando: >>x=[-2:0.2:2]; dove il passo scelto è 0.2. Quindi calcoliamo punto per punto il valore di y: >>y=x.ˆ2; e disegnamo il grafico con il comando >>plot(x,y). Se vogliamo sovrapporre sullo stesso grafico un altra funzione, ad esempio x. 3, digitiamo: >>y2=x.ˆ3; >>hold on >>plot(x,y2, r ) L istruzione hold on serve per aggiungere alla figura corrente un altro elemento. La stringa r contenuta nella seconda istruzione plot indica il colore desiderato (per un elenco dei colori disponibili, digitare help plot). 5 M-file e function Possiamo salvare in un file di estensione.m una sequenza di istruzioni che vengono eseguite ogni volta che digitiamo nella Command Window il nome del file. Il file deve essere salvato in una cartella che aggiungiamo al path di Matlab, con il seguente comando: >>addpath d:\nomecartella oppure utilizzando il menu: File Set Path Add Folder. Possiamo anche scrivere una funzione che riceve argomenti in ingresso e restituisce uno o più argomenti in uscita, con questa sintassi: function [out1,out2]=nomefun(in1,in2...) 3
4 6 Numeri complessi In Matlab l unità immaginaria è indicata da i oppure j. Possiamo definire un numero complesso con i seguenti comandi, equivalenti: a=1-i a=sqrt(2)*exp(-i*pi/4) dove pi è π (predefinito in Matlab). In Matlab esistono funzioni predefinite che operano sui numeri complessi. Sia z = x + iy: >>real(z) restituisce x >>imag(z) restituisce y >>abs(z) restituisce il modulo >>angle(z) restituisce l argomento (arctan y x ) >>conj(z) restituisce x iy, il coniugato Il comando compass ci permette di rappresentare i numeri complessi sul piano complesso con una freccia. Scriviamo una funzione che prenda in ingresso un numero complesso, restituisca il numero ruotato di π/2 nel piano complesso, e disegni sullo stesso grafico i due numeri. Sappiamo che, dati z 1 = ρ 1 (cos(θ 1 ) + isin(θ 1 )) e z 2 = ρ 2 (cos(θ 2 ) + isin(θ 2 )) il prodotto ha la seguente espressione: z 1 z 2 = ρ 1 ρ 2 (cos(θ 1 + θ 2 ) + isin(θ 1 + θ 2 )) (1) quindi per ottenere una rotazione di 90 dobbiamo moltiplicare il numero per i, che ha modulo unitario e argomento π/2. % questa funzione ruota un numero complesso di 90 function [z2]=ruota nc(z1); rot=i; z2=z1*rot; compass(z1, b ) hold on compass(z2, r ) 6.1 Radice n-sima di un numero complesso Un numero complesso z = ρ(cos θ+isin θ) ha n radici n-sime, soluzioni dell equazione w n = z. Il modulo e argomento di ogni radice w i sono dati dalle seguenti espressioni: ρ i = ρ (1/n) θ i = θ n + k2π n, k Z (2) Matlab calcola la radice principale di z, che corrisponde alla scelta k = 0 nella formula 2. Vogliamo scrivere una funzione che calcoli tutte le radici n-sime di un numero complesso partendo da quella principale. 4
5 Sfruttiamo il fatto che, come visto nell esercizio precedente, moltiplicare per un numero complesso di modulo unitario e argomento θ equivale a fare una rotazione di un angolo θ. % Questa funzione calcola le radici n-sime di un numero complesso. % Dati in ingresso: un numero complesso z, un intero n. % Dati in uscita: un vettore nx1 con le radici. function [w]=comp roots(z,n); w=zeros(n,1); % inizializzazione del vettore soluzione w(1)=zˆ(1/n); % trovo la radice principale for k=2:n end w(k)=w(k-1)*exp(i*2*pi/n) % ruoto rispetto alla radice precedente compass(w) Utilizziamo comp roots per calcolare le radici cubiche di z = 1 i: >>z=1-i >>[w]=comp roots(z) >>w ans i i i Esercizi 1 Calcolo di espressioni con Matlab Calcolare le seguenti espressioni con Matlab: a) 4 π b) (sin(30 )) 2 c) arctan( 3 3 ) 2 Definizione di variabili 2.1 Assegnare le variabili x = e 3, y = π/6. Calcolare le seguenti espressioni: a) log(x 2 ) 5
6 b) sin(y) c) log(x 1/3 )sin y Definire la variabile >>pi=1. Osservare che le variabili predefinite in Matlab possono essere ridefinite dall utente. Quanto vale ora l espressione >>sin(pi/2)? Quale istruzione si può utilizzare per eliminare la nostra definizione di pi? Inserire i vettori v = [1,1,0] e t = [0; 1;0] (rispettivamente riga e colonna). Eseguire il prodotto scalare con *, quindi verificare che si ottiene lo stesso risultato con il comando dot (sintassi: >>dot(vettore1,vettore2)). 3.2 Creare la matrice 4X4 A con il comando >>A=pascal(4). Creare il vettore 4X1 x = [1;1;1;1] (suggerimento: potete usare il comando ones). Creare il vettore b, assegnandogli il prodotto Ax, dopo avere verificato che è possibile eseguirlo. Verificare che >>A\b dà in uscita il vettore x, e osservare che otteniamo lo stesso risultato moltiplicando l inversa di A per b (suggerimento: per calcolare l inversa di A digitare inv(a)). 4 Grafici di funzioni 4.1 Rappresentare le funzioni trigonometriche (seno, coseno, tangente), segliendo opportunamente i valori di x. 4.2 Rappresentare in colori diversi, sullo stesso grafico, y = x, y = x 2, y = x Disegnare il grafico di x, della sua traslata in alto di 2 unità, e della sua traslata a destra di 1 unità. 6
7 6 Numeri complessi 6.1 Dati i seguenti numeri complessi in forma polare, trovarne la forma cartesiana, a mano e utilizzando Matlab: 6.2 a) ρ = 2, θ = π/3 b) ρ = 10, θ = 3π/2 c) ρ = 1/2, θ = π/4 (Comandi: sin, cos, exp) Dati i seguenti numeri complessi in forma cartesiana, trovarne la forma polare, a mano e utilizzando Matlab: 6.3 a) z = 10i b) z = 2/2 i 2/2 c) z = 1/2 i 3/2 (Comandi: atan2, real, imag, abs) Scrivere una function che riceve in ingresso due numeri complessi, ne calcola e restituisce somma e prodotto e rappresenta i due numeri, la somma e il prodotto nel piano complesso. Eventualmente utilizzare due figure diverse: >>figure(1) >>figure(2) Oppure utilizzare il comando subplot, come mostrato di seguito: >>subplot(2,1,1) >>subplot(2,1,2) Calcolare a mano somma e prodotto di z 1 = 3 + 2i, z 2 = 1 i, quindi verificare il risultato con la funzione Matlab. 6.4 Utilizzando la funzione comp roots calcolare le radici n-sime, con n=2,3,4 di 1 e i. 7
INTRODUZIONE A MATLAB
INTRODUZIONE A MATLAB INTRODUZIONE A MATLAB MATLAB (MATrix LABoratory) è un linguaggio di programmazione per applicazioni scientifiche (elaborazione numerica dei segnali, progetto di simulatori, sintesi
MATLAB Elementi di grafica Costrutti di programmazione
MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per
Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018
Vettori e Matrici 24 Aprile 2018 Richiami In MATLAB, ogni variabile ha una struttura di tipo vettoriale o array. Un array è un insieme di valori ordinati, cioè memorizza più dati all interno di una struttura
Introduzione a Matlab. Renato Mainetti
Introduzione a Matlab Renato Mainetti Matlab questo sconosciuto (abbreviazione di Matrix Laboratory) Cos è? E un ambiente (software) nato per il calcolo numerico e l'analisi statistica. A cosa serve? Permette
3. Matrici e algebra lineare in MATLAB
3. Matrici e algebra lineare in MATLAB Riferimenti bibliografici Getting Started with MATLAB, Version 7, The MathWorks, www.mathworks.com (Capitolo 2) Mathematics, Version 7, The MathWorks, www.mathworks.com
Introduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab
Metodi di Analisi dei Dati Sperimentali AA /2010 Pier Luca Maffettone Elementi di Matlab Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni
Algoritmi stabili e instabili
Algoritmi stabili e instabili Laboratorio di Calcolo Numerico 13 Marzo 2018 Vettori in MATLAB Finora abbiamo pensato alle variabili utilizzate come semplici valori numerici (variabili scalari). In realtà,
CORSO DI LABORATORIO DI INFORMATICA
CORSO DI LABORATORIO DI INFORMATICA Corso di Laurea Triennale in Ingegneria Elettrica a.a. 2015/2016 Docente: Ing. Domenico Amalfitano Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata
Argomenti della Lezione 1) Matlab e simulazione 2) Esempi di utilizzo 1 Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata Matlab è un sistema di programmazione ad alto livello
Introduzione al linguaggio Matlab - 1. A) Command Window: é la nestra in cui si eseguono in comandi.
Introduzione al linguaggio Matlab - 1 L'interfaccia Matlab é la seguente: Figure 1: Interfaccia utente Matlab A) Command Window: é la nestra in cui si eseguono in comandi. B) Current Directory: indica
Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato [email protected] Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione
ESERCITAZIONE MATLAB
ESERCITAZIONE MATLAB Di seguito sono ripostati alcuni esercizi da eseguire in ambiente MatLab. Gli esercizi sono divisi per argomenti. Ogni esercizio è preceduto da una serie di esempi che aiutano nello
Introduzione al MATLAB c Parte 2 Funzioni
Introduzione al MATLAB c Parte 2 Funzioni Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Funzioni matematiche Assegnazione di funzioni 2 Grafico di funzione in
Esercitazioni con GNU Octave
appendice A Esercitazioni con GNU Octave GNU Octave può essere scaricato dalla seguente pagina: https://www.gnu.org/software/octave/download.html L elenco dei concetti, delle funzioni e degli operatori
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione Claudia Zoccarato E-mail: [email protected] Dispense: Moodle Dipartimento ICEA 22 Marzo 2017 Vettori in
Laboratorio 2. Calcolo simbolico, limiti e derivate. Metodo di Newton.
Anno Accademico 2007-2008 Corso di Analisi 1 per Ingegneria Elettronica Laboratorio 2 Calcolo simbolico, limiti e derivate. Metodo di Newton. 1 Introduzione al Toolbox simbolico Con le routines del Symbolic
PON 2007 2013 Liceo Scientifico Leonardo da Vinci. Vallo della Lucania
PON 2007 2013 Liceo Scientifico Leonardo da Vinci Vallo della Lucania Nuovi percorsi matematici: Osservare, descrivere, costruire. Matlab - 2: Lavorare con le matrici Vallo della Lucania 26 Settembre 2008
Esercitazione 1: Introduzione a MATLAB
Laboratorio di Immagini Esercitazione 1: Introduzione a MATLAB Mauro Zucchelli 09/03/2016 MATLAB Cos è MATLAB? MATLAB Cos è MATLAB? MATLAB non è un linguaggio di programmazione MATLAB Cos è MATLAB? MATLAB
INTRODUZIONE A MATLAB Matrix Laboratory
INTRODUZIONE A MATLAB Matrix Laboratory Introduzione Linguaggio di programmazione per applicazioni scientifiche e numeriche Vasto set di funzioni predefininte Interprete di comandi Possibilità di scrivere
Fondamenti di Informatica
Fondamenti di Informatica Introduzione a MATLAB Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Introduzione a MATLAB Avviso per le Prossime Lezioni
Calcolo Numerico I - a.a Laboratorio 1 - Introduzione a MATLAB
Calcolo Numerico I - a.a. 2010-2011 Laboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory) è un ambiente integrato per il calcolo scientifico utilizzabile sia in maniera interattiva che come
Corso di Matematica per la Chimica
Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Presentazione del Matlab Riferimenti bibliografici
Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari
Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.
VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule
EXCEL Il software Excel appartiene alla categoria dei fogli elettronici. Ogni foglio è composto da 1.048.576 righe per 16.384 colonne suddivise in celle che è possibile collegare tra loro: in tal modo
Introduzione a MATLAB
Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Introduzione a MATLAB Lezione n. Dr. Carlo Petrarca Dipartimento di Ingegneria Elettrica e Tecnologie
