La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Copie: 1
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.

Presentazioni simili


Presentazione sul tema: "MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,"— Transcript della presentazione:

1 MATLAB

2 …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

3 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)

4 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

5 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

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

7 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 la funzione ha come input la matrix A la funzione ha come input la matrix A la funzione ha come output la media la funzione ha come output la media [r c] = size(A) restituisce il numero di righe e colonne della matrice [r c] = size(A) restituisce il numero di righe e colonne della matrice

8 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

9 Esempio

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

11 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

12 Esempio per stampare una stringa

13 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 disp -> per stampare a video una stringa disp -> per stampare a video una stringa disp(stringa di caratteri)

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

15 Esercizi Scrivere una funzione che ha Scrivere una funzione che ha come input una matrice quadrata A e un vettore colonna b come input una matrice quadrata A e un vettore colonna b come output la soluzione x del sistema Ax=b (dopo aver verificato che A è nn singolare) come output la soluzione x del sistema Ax=b (dopo aver verificato che A è nn singolare) nel caso di A singolare ritornare una scritta di errore nel caso di A singolare 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 fare i test su n

16 sono linearmenti indipendenti Vettori l.i.

17 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 quindi formano una base per R 3

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

19 Esempio - 3 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 nn nulla del sistema omogeneo Ak = 0 troviamo una soluzione nn nulla del sistema omogeneo Ak = 0 rref(A)

20 Basi Dopo aver verificato che i vettori v 1, v 2, v 3 sono una base di R3 esprimere v come c.l. dei v i Dopo aver verificato che i vettori v 1, v 2, v 3 sono una base di R 3 esprimere v come c.l. dei v i 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

21 Esercizi - 1

22 Esercizi - 2 Scrivere una funzione che implementi la Scrivere una funzione che implementi la backward substitution di un sistema Ax=b backward substitution di un sistema Ax=b con A triangolare superiore con A triangolare superiore

23 Osservazioni Privilegiare operazioni vettoriali ai cicli for…end e while…end Privilegiare operazioni vettoriali ai cicli for…end e while…end


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

Presentazioni simili


Annunci Google