MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni...
-
Upload
pina-napoli -
Category
Documents
-
view
242 -
download
4
Transcript of MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni...
MATLABMATLAB
……oggi…oggi…
Programmare in MatlabProgrammare in Matlab m-filem-file scriptscript FunzioniFunzioni CicliCicli Operatori relazionaliOperatori relazionali
Esercizi variEsercizi vari
EditorEditor
Dopo aver scritto i comandi • si salva il file cliccando su save• si assegna un nome al file (es. prova.m)
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)
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
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
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
Ciclo for…endCiclo for…end
Ciclo incondizionatoCiclo incondizionato
for i = n1:passo:n2
blocco di istruzioni
end
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
EsempioEsempio
Ciclo while…endCiclo while…end
Ciclo condizionatoCiclo condizionato
while condizione
blocco di istruzioni
end
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
EsempioEsempio
per stampare
una stringa
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’)
Input\outputInput\output
inputinput sprintfsprintf
n = input(‘inserisci un intero’);
s = sprintf(‘n = %d’,n);
disp(s)
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