Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCaterina Fortunato Modificato 11 anni fa
1
MATLAB
2
Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari
3
Le funzioni I Script parametri in ingresso non modificabili le variabili usate sono messe nella memoria di lavoro di MATLAB Funzioni script al quale si possono passare parametri in ingresso ed ottenerne in uscita - sintassi y1,…,yn -> parametri in uscita x1,…,xn –> parametri in entrata le variabili usate allinterno sono locali function [y1,…,yn] = nome_funzione(x1,…,xn)
4
Le funzioni II Lm file va salvato col nome nome_funzione.m il nome del file deve essere identico a quello della funzione La funzione puo essere richiamata dalla finestra di comando allinterno di uno script da altre funzioni digitando [y1,…,yn]=nome_funzione(x1,…,xn) Per poter richiamare la funzione ci dobbiamo mettere nella directory nella quale la salviamo
5
Esempio richiamiamo la funzione nella finestra di comando parametro in input creiamo un m-file traccia.m nel quale implementiamo la funzione che calcola la traccia di una matrice variabile temporanea
6
Ciclo for…end Ciclo incondizionato for i = n1:passo:n2 blocco di istruzioni end
7
Esercizio 1 Scrivere una funzione che sommi gli elementi di un vettore e moltiplichi il risultato per un intero n passato come parametro di input function s = somma(v,n)
8
Esercizio 2 Scrivere una funzione che faccia la media degli elementi di una matrice A [r c] = size(A) usare la funzione somma function m = media_matrix(A)
9
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
10
Esempio
11
Ciclo while…end Ciclo condizionato while condizione blocco di istruzioni end
12
If…else…end if condizione1 blocco di istruzioni elseif condizione2 blocco di istruzioni else blocco di istruzioni end 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
13
Esempio per stampare una stringa
14
Comandi utili break -> per uscire in maniera forzata da un ciclo MATLAB salta allistruzione che termina il ciclo return -> interrompe lesecuzione della funzione si ritorna al programma da cui la funzione è stata chiamata Osservazione: Privilegiare operazioni vettoriali ai cicli for…end e while…end
15
Input\output input sprintf disp n = input(inserisci un intero); s = sprintf(n = %d,n); disp(s) disp(stringa di caratteri)
16
Esercizio 3 Scrivere una funzione che ha come output la soluzione del sistema Ax=b verificare A quadrata A non singolare nel caso di A singolare o non quadrata ritornare una scritta di errore function x = risolvi_sistema_quadrato(A,b)
17
Esercizio 4 Scrivere una funzione che dato in input un intero positivo n restituisca il suo fattoriale fare i test su n (n intero, positivo) function r = fattoriale(n)
18
Esercizio 5 Costruire una function che prenda in input un intero n>=3 e restituisca la matrice A ed un messaggio in cui si dica se A è singolare. La matrice A deve avere la seguente struttura: La prima colonna: (1,2,...,n-1,n,n-1,…,2,1) Lultima colonna: (1,3,…,2*n-1,…,3,1) La prima riga: (1,0,-1,…,-n+2,…,-1,0,1) La diagonale: (1,4,…,(n-1)^2,n^2,(n-1)^2,…,4,1) Le altre componenti uguali a zero.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.