MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

INFORMATICA Altre Istruzioni di I/O
MATLAB.
Metodi numerici in Matlab
Selezione A. Ferrari.
PHP.
MATLAB.
MATLAB.
MATLAB.
MATLAB.
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
MATLAB.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Algoritmi e Programmazione
MATLAB.
2 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – 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.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB.
MATLAB.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Soluzione FEM di problemi parabolici
Metodi FEM per problemi ellittici lineari a tratti Gabriella Puppo.
Metodi numerici per equazioni lineari iperboliche Gabriella Puppo.
Metodi conservativi per equazioni iperboliche
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).
Trimr Gauss, tra le altre, fornisce una preziosissima funzione che risulta di estrema utilità nell’ambito matriciale. Questa funzione, chiamata trimr(x,t,b),
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
Introduzione alla programmazione lll
Somma = A + B start Stampa Somma Leggi A,B stop Sub SOMMA( ) Dim A, B as Integer A = InputBox("Immetti un numero") B = InputBox(Immetti un secondo numero)
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Selezione (=scelta) con “if-else”
Strutture di controllo in C -- Flow Chart --
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Esercitazione 2 – Generazione di variabili Matlab.
Lezione 2 Programmare in ASP
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.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Lezione 6 Strutture di controllo Il condizionale
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
Milano, 17 Dicembre 2013 Informatica B Informatica B Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli:
Attività progettuale in Linguaggi e Modelli Computazionali M
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.
Sottospazi vettoriali
Introduzione a Javascript
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
Informatica 4 La ricorsione. Definizione di ricorsione Ricorsione è la proprietà di quei programmi che, all’interno delle istruzioni che li compongono,
INTRODUZIONE A MATLAB Corso di Segnali e Sistemi a.a. 2010/2011.
Transcript della presentazione:

MATLAB

…oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare, basi, sottospazi Indipendenza lineare, basi, sottospazi Esercizi vari Esercizi vari

Le funzioni -1 Script Script parametri in ingresso nn modificabili parametri in ingresso nn modificabili le variabili usate sono messe nella memoria di lavoro di MATLAB le variabili usate sono messe nella memoria di lavoro di MATLAB Funzioni Funzioni script al quale si possono passare parametri in ingresso ed ottenerne in uscita script al quale si possono passare parametri in ingresso ed ottenerne in uscita sintassi sintassi y1,…,yn -> parametri in uscita y1,…,yn -> parametri in uscita x1,…,xn –> parametri in entrata x1,…,xn –> parametri in entrata le variabili usate allinterno sono locali le variabili usate allinterno sono locali function [y1,…,yn] = nome_funzione(x1,…,xn)

Le funzioni -2 Lm file va salvato col nome nome_funzione.m Lm file va salvato col nome nome_funzione.m il nome del file deve essere identico a quello della funzione il nome del file deve essere identico a quello della funzione La funzione puo essere richiamata La funzione puo essere richiamata dalla finestra di comando dalla finestra di comando allinterno di uno script allinterno di uno script da altre funzioni da altre funzioni digitando [y1,…,yn]=nome_funzione(x1,…,xn) digitando [y1,…,yn]=nome_funzione(x1,…,xn) Per poter richiamare la funzione ci dobbiamo mettere nella directory nella quale la salviamo Per poter richiamare la funzione ci dobbiamo mettere nella directory nella quale la salviamo C:\Users C:\Users

richiamiamo la funzione nella finestra di comando Esempio creiamo un m-file traccia.m nel quale implementiamo la funzione che calcola la traccia di una matrice parametro in input variabile temporanea

Ciclo for…end Ciclo incondizionato Ciclo incondizionato for i = n1:passo:n2 blocco di istruzioni end

Esercizio Scrivere una funzione che sommi gli elementi di un vettore e moltiplichi il risultato per un intero n passato come parametro di input Scrivere una funzione che sommi gli elementi di un vettore e moltiplichi il risultato per un intero n passato come parametro di input Scrivere una funzione che faccia la media degli elementi di una matrice A Scrivere una funzione che faccia la media degli elementi di una matrice A [r c] = size(A) [r c] = size(A) usare la funzione somma usare la funzione somma function s = somma(v,n) function m = media_matrix(A)

Operatori Operatori relazionali:, >=, ==, =, = si usano per confrontare tra di loro gli elementi di 2 matrici; il risultato delloperazione sarà 0 se la relazione è falsa 1 se la relazione è vera Operatori logici: &, |, si usano per combinare tra loro gli operatori relazionali

Esempio

Ciclo while…end Ciclo condizionato Ciclo condizionato while condizione blocco di istruzioni end

If…else…end if condizione1 blocco di istruzioni elseif condizione2 blocco di istruzioni else blocco di istruzioni end Test condizionale Test condizionale opzionali I comandi che seguono elseif sono eseguiti se condizione2 è vera I comandi che seguono else sono eseguiti se le precedenti condizioni sono false coinvolge un operatore relazionale. Se condizione1 è vera si eseguono i comandi

Esempio per stampare una stringa

Comandi utili break -> per uscire in maniera forzata da un ciclo break -> per uscire in maniera forzata da un ciclo MATLAB salta allistruzione che termina il ciclo MATLAB salta allistruzione che termina il ciclo return -> interrompe lesecuzione della funzione return -> interrompe lesecuzione della funzione si ritorna al programma da cui la funzione è stata chiamata si ritorna al programma da cui la funzione è stata chiamata Osservazione: Osservazione: Privilegiare operazioni vettoriali ai cicli for…end e while…end Privilegiare operazioni vettoriali ai cicli for…end e while…end

Input\output input input sprintf sprintf disp disp n = input(inserisci un intero); s = sprintf(n = %d,n); disp(s) disp(stringa di caratteri)

Esercizi Scrivere una funzione che ha Scrivere una funzione che ha come output la soluzione del sistema Ax=b come output la soluzione del sistema Ax=b verificare verificare A quadrata A quadrata A nn singolare A nn singolare nel caso di A singolare o quadrata ritornare una scritta di errore nel caso di A singolare o quadrata ritornare una scritta di errore Scrivere una funzione che dato in input un intero positivo n restituisca il suo fattoriale Scrivere una funzione che dato in input un intero positivo n restituisca il suo fattoriale fare i test su n (n intero, positivo) fare i test su n (n intero, positivo) function x = risolvi_sistema_quadrato(A,b) function function r = fattoriale(n)

sono linearmenti indipendenti se m=n e i vettori sono l.i. => formano una base di R n Vettori l.i.

Esempio - 1 v1 = [1 0 2]; v2 = [2 1 1]; v3 = [1 2 0]; A = [v1 v2 v3] rank(A) il rango è 3 => i vettori sono l.i. e formano una base per R 3

Esempio – 2 (I parte) v1 = [ ]; v2 = [ ]; v3 = [ ]; v4 = [ ]; A = [v1 v2 v3 v4] rank(A) il rango è 3 => i vettori sono l.d.

Esempio – 2 (II parte) Per trovare una c.l. nulla a coefficienti nn tutti nulli t.c. Per trovare una c.l. nulla a coefficienti nn tutti nulli t.c. troviamo una soluzione non nulla del sistema omogeneo Ak = 0 troviamo una soluzione non nulla del sistema omogeneo Ak = 0 rref(A)

Basi Dopo aver verificato che i vettori sono una base di R3 esprimere come c.l. dei Dopo aver verificato che i vettori sono una base di R 3 esprimere come c.l. dei v1 = [1 1 0]; v2 = [0 1 1]; v3 = [1 0 1]; v = [1 1 1]; A = [v1 v2 v3] rank(A) il rango è 3 => i vettori sono l.i. i coefficienti lineari della combinazione si trovano: k=A\v

sono l.i. rank(A)=m sono l.i. rank(A)=m W = span(v 1,v 2,…,v m ) W = span(v 1,v 2,…,v m ) dim W = rank(A) dim W = rank(A) per trovare una base del s.s. B W si considerano i vettori l.i. che costituiscono la matrix A per trovare una base del s.s. B W si considerano i vettori l.i. che costituiscono la matrix A per esprimere un vettore w come c.l. dei vettori della base, si forma la matrix B avente per colonne le componenti di tali vettori e si risolve il sistema Bk=w per esprimere un vettore w come c.l. dei vettori della base, si forma la matrix B avente per colonne le componenti di tali vettori e si risolve il sistema Bk=w se i vettori sono l.d. => i coefficienti di una loro combinazione lineare non nulla si trovano risolvendo il sistema Ak=0 se i vettori sono l.d. => i coefficienti di una loro combinazione lineare non nulla si trovano risolvendo il sistema Ak=0 …ricapitolando…

Esercizi