MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni...

16
MATLAB MATLAB

Transcript of MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni...

Page 1: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

MATLABMATLAB

Page 2: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

……oggi…oggi…

Programmare in MatlabProgrammare in Matlab m-filem-file scriptscript FunzioniFunzioni CicliCicli Operatori relazionaliOperatori relazionali

Esercizi variEsercizi vari

Page 3: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

EditorEditor

Dopo aver scritto i comandi • si salva il file cliccando su save• si assegna un nome al file (es. prova.m)

Page 4: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

Script e funzioniScript e funzioni ScriptScript

parametri in ingresso nn modificabiliparametri in ingresso nn modificabili le variabili usate sono messe nella memoria le variabili usate sono messe nella memoria

di lavoro di MATLABdi lavoro di MATLAB FunzioniFunzioni

script al quale si possono passare parametri script al quale si possono passare parametri in ingresso ed ottenerne in uscitain ingresso ed ottenerne in uscita

• sintassisintassi

• y1,…,yn -> parametri in uscitay1,…,yn -> parametri in uscita• x1,…,xn –> parametri in entratax1,…,xn –> parametri in entrata

le variabili usate all’interno sono le variabili usate all’interno sono localilocali

function [y1,…,yn] = nome_funzione(x1,…,xn)function [y1,…,yn] = nome_funzione(x1,…,xn)

Page 5: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

ScriptScript E’ possibile scrivere degli script in E’ possibile scrivere degli script in

MatlabMatlab cliccando su newcliccando su new File -> New -> M-fileFile -> New -> M-file

Page 6: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

Le funzioniLe funzioni L’m file va salvato col nome nome_funzione.mL’m file va salvato col nome nome_funzione.m

il nome del file deve essere identico a quello della il nome del file deve essere identico a quello della funzionefunzione

La funzione puo’ essere richiamataLa funzione puo’ essere richiamata dalla finestra di comandodalla finestra di comando all’interno di uno scriptall’interno di uno script da altre funzionida altre funzioni

digitando [y1,…,yn]=nome_funzione(x1,…,xn)digitando [y1,…,yn]=nome_funzione(x1,…,xn) Per poter richiamare la funzione ci dobbiamo Per poter richiamare la funzione ci dobbiamo

mettere nella directory nella quale la salviamomettere nella directory nella quale la salviamo C:\UsersC:\Users

Page 7: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

richiamiamo la funzione nella finestra di comando

EsempioEsempiocreiamo un m-file traccia.m nel quale implementiamo la funzione che calcola la traccia di una matrice

parametro in input

variabile temporanea

Page 8: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

Ciclo for…endCiclo for…end

Ciclo incondizionatoCiclo incondizionato

for i = n1:passo:n2

blocco di istruzioni

end

Page 9: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

Operatori Operatori

Operatori relazionali: < , <= , > , >= , == , = , = si usano per confrontare tra di loro gli

elementi di 2 matrici; il risultato dell’operazione sarà

• 0 se la relazione è falsa• 1 se la relazione è vera

Operatori logici: & , | , si usano per combinare tra loro gli

operatori relazionali

Page 10: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

EsempioEsempio

Page 11: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

Ciclo while…endCiclo while…end

Ciclo condizionatoCiclo condizionato

while condizione

blocco di istruzioni

end

Page 12: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

If…else…endIf…else…end

if condizione1

blocco di istruzioni

elseif condizione2

blocco di istruzioni

else

blocco di istruzioni

end

Test condizionaleTest 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

Page 13: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

EsempioEsempio

per stampare

una stringa

Page 14: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

Comandi “utili”Comandi “utili”

break -> per uscire in maniera forzata da break -> per uscire in maniera forzata da un cicloun ciclo MATLAB salta all’istruzione che termina il MATLAB salta all’istruzione che termina il

ciclociclo return -> interrompe l’esecuzione della return -> interrompe l’esecuzione della

funzionefunzione si ritorna al programma da cui la funzione è si ritorna al programma da cui la funzione è

stata chiamatastata chiamata disp -> per stampare a video una stringadisp -> per stampare a video una stringa

disp(‘stringa di caratteri’)

Page 15: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

Input\outputInput\output

inputinput sprintfsprintf

n = input(‘inserisci un intero’);

s = sprintf(‘n = %d’,n);

disp(s)

Page 16: MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.

EsercizioEsercizio Scrivere una funzione che faccia la Scrivere una funzione che faccia la

media degli elementi di una matrice Amedia degli elementi di una matrice A

m = media_matrix(A)m = media_matrix(A)

• [r c] = size(A) restituisce il numero di righe e [r c] = size(A) restituisce il numero di righe e colonne della matricecolonne della matrice

Scrivere una funzione che dato in input Scrivere una funzione che dato in input un intero positivo n restituisca il suo un intero positivo n restituisca il suo fattorialefattoriale fare i test su nfare i test su n