Introduzione al MATLAB c Parte 2 Funzioni

Documenti analoghi
MATLAB Elementi di grafica Costrutti di programmazione

Introduzione al MATLAB c

Introduzione al MATLAB c

Università degli Studi di Ferrara

Introduzione al MATLAB c Parte 1

Introduzione a Matlab

Introduzione all ambiente MATLAB

Analisi Numerica I Introduzione a Matlab

2 a lezione - laboratorio

Metodi numerici con elementi di Programmazione A.A

Introduzione a MATLAB

Laboratorio didattico di matematica computazionale

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 3-15/3/2018

Calcolo Numerico I - a.a Laboratorio 3 - Introduzione a MATLAB

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

INTRODUZIONE A MATLAB

Rappresentazione di curve in tre dimensioni

Algoritmi stabili e instabili

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione

Laboratorio di Matematica Computazionale A.A Lab. 8

Interpolazione e approssimazione di funzioni

Esercitazioni con GNU Octave

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function

Equazioni differenziali con valori al bordo

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici

Interpolazione. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Università degli Studi di Ferrara

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici

Prove d esame Esercizi con Matlab

Esercitazione 2 Numeri finiti e propagazione dell errore

Interpolazione. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Introduzione a MATLAB

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Equazioni e sistemi non lineari

Analisi Matematica. Alcune funzioni elementari

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Laboratorio di Matlab

Matlab: Variabili e Array. Informatica B

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

MATLAB (3) - Grafica 2 e 3D

Esercitazione 4. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h. 1

» max(x)» min(x) Se si vogliono conoscere anche le posizioni del massimo e del minimo, la sintassi è la seguente

Integrazione numerica. Gabriella Puppo

Introduzione a MATLAB

Complementi di Matematica e Calcolo Numerico A.A

Principi di Programmazione Prova del 10/6/2008 (ore 10.30)

Introduzione a MatLab

INTRODUZIONE A MATLAB

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Matematica per l Economia Sottoinsieme L-Z Dipartimento di Economia Universitá degli Studi di Bari 4) FUNZIONI ELEMENTARI.

Equazioni e sistemi non lineari

Corso Matlab : Seconda lezione (Esercitazione, 10/05/13) Samuela Persia, Ing. PhD.

Corso di Laurea in Ingegneria Energetica POLINOMI IN MATLAB. Bologna, 13 marzo Fondamenti di Informatica L a.a

Matlab permette di disegnare facilmente dei grafici La prima cosa da fare è costruire una nuova figura :

Corso di Matematica per la Chimica

Introduzione al MATLAB c Parte 3 Script e function

Comandi Principali. Zoom su finestra definita dall'utente Riporta la visuale allo Zoom iniziale

Descrittori di formato. n di cifre a destra del punto decimale n di spazi da saltare fattore di ripetizione larghezza del campo

Matlab. Vettori, funzioni matematiche e grafici.

Corso Matlab : Terza lezione (Esercitazione, 17/05/13) Samuela Persia, Ing. PhD.

Grafici tridimensionali

Informatica per Scienze Geologiche LT a.a

Complementi di Matematica e Calcolo Numerico A.A

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 2 - Introduzione a MATLAB

Introduzione. MATLAB è l acronimo di MATrix LABoratory

INTRODUZIONE A MATLAB

Esercitazione 4. F (x) = x + log x. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h.

Funzioni. iniettiva se x y = f (x) f (y) o, equivalentemente, f (x) = f (y) = x = y

Variabile, costante ed espressione

INTRODUZIONE A MATLAB

UNITÀ DIDATTICA 2 LE FUNZIONI

Foglio di esercizi n.1

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

Approssimazione di dati

Laboratorio di Matlab

Approssimazione di dati

Introduzione a Matlab

Soluzione di Equazioni non lineari

Interpolazione polinomiale. Gabriella Puppo

Campo di Esistenza. Il campo di esistenza di una funzione f è il dominio più grande su cui ha significato la legge f.

>> A = [1 2 3; 4 5 6; 7 8 9]; >> A

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 7. ricorsione e funzioni anonime

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017

Corso di Laurea in Ingegneria Informatica Anno Accademico 2012/2013 Analisi Matematica 1

Corso di laurea in Chimica Matematica

AM110 - ESERCITAZIONI XIX - XX

Laboratorio 2. Calcolo simbolico, limiti e derivate. Metodo di Newton.

Funzioni elementari. per ogni x R. 1 se n =0

CORSO DI LABORATORIO DI INFORMATICA

Introduzione al MATLAB c Parte 1 Variabili ed array

Transcript:

Introduzione al MATLAB c Parte 2 Funzioni Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it

Indice 1 Funzioni matematiche Assegnazione di funzioni 2 Grafico di funzione in 3D Operazioni punto

Funzioni matematiche predefinite >> y=cos(pi/4)+sin(pi/4) y = 1.4142 >> y=exp(1) y = 2.7183 Funzione Significato sin, cos, tan seno, coseno, tangente asin, acos, atan arcoseno, arcocoseno, arcotangente exp esponenziale sinh, cosh seno iperbolico, coseno iperbolico tanh tangente iperbolica log, log2, log10 logaritmo in base e, in base 2 e in base 10 sqrt radice quadrata abs valore assoluto sign funzione segno page 2

Come assegnare una funzione: @ f=@(arglist) espressione f=@(arglist) [espressione] dichiara una function di nome f: la stringa espressione contiene l espressione di f arglist è la lista dei nomi delle variabili da cui dipende f. Esempio >> f=@(x) xˆ2*atan(x) produce f= @(x) x^2*atan(x) >> g=@(x,y) sqrt(xˆ2+yˆ2) produce g= @(x,y) sqrt(x^2+y^2) Da cui g(3,4) = 5 >> p=@(x,y) [xˆ3 yˆ2] produce p= @(x,y) [x^3 y^2] Da cui p(3,4) = 27 16 page 3

Come valutare una funzione Per valutare f nel punto x: >> x=1.718; >> y=f(x); Per valutare g nel punto (a, b): >> a=1.71; b=2.23; >> z=g(a,b); Il nome della variabile in cui si calcola il valore di una funzione assegnata come @ non deve essere necessariamente uguale al nome delle variabili usate nella assegnazione della funzione Si può valutare la funzione anche in un vettore di punti: >> x=[0 1 3]; >> f=@(x) 3*sin(x); >> f(x) ans= 0 2.5244 2.7279 Se x è un array f(x) è un array della stessa dimensione di x. page 4

Esercizio Problema 1: valutare f (x) = x 2 cos(x) sull intervallo I = [ 1, 2] e rappresentarla graficamente. Due possibili modi: usando il comando fplot usando il comando plot page 5

fplot Per fare il grafico di una funzione f su un intervallo [a, b] si può usare il comando fplot con la seguente sintassi fplot(f,[a,b]) oppure fplot( stringa,[a,b]) dove stringa contiene l espressione della funzione. Se la funzione è assegnata con un M-file di tipo function la sintassi è: fplot(@f,[a,b]) Due funzioni sullo stesso grafico f=@(x) x^2; g=@(x) 2*x*sin(4*x) fplot(f,[-1 2]) hold on fplot(g,[-1 2], r-- ) page 6

Esempio Per n = 1,..., 6 fare il grafico della funzione f (x) = x n nell intervallo [ 2, 2]. Svolgimento Possiamo definire la funzione dipendente dalla variabile x e dal parametro n come segue: f=@(x,n) xˆn e poi usare il seguente comando per fare il grafico, ad esempio per n = 2: fplot(@(x) f(x,2),[-2 2]) Per generare i grafici delle 4 funzioni e vederli in 4 grafici separati si può usare la seguente procedura: for n=1:6 subplot(2,3,n) fplot(@(x) f(x,n),[-2 2]) title([ n=,num2str(n)]) end page 7

plot Dati due vettori delle stesse dimensioni x e y, il comando plot genera una spezzata che congiunge a due a due i punti di coordinate (x i, y i ). >> plot(x,y, m-* ) color: c,m,y,r,b,g,w,k linestyle: -,--,:,-.,none marker: +,o,*,.,x,square plot(x,y, color linestyle marker ) Per disegnare 2 o piú coppie di vettori sullo stesso grafico: plot(x1,y1, b:,x2,y2, r- ); oppure plot(x1,y1,x2,y2) legend( primo grafico, sec. grafico ) page 8

Grafico di una funzione con il comando plot Definire una griglia sull intervallo I = [ 1, 2], ovvero scegliere un insieme discreto di punti rappresentativo per I : x=linspace(-1,2,50); linspace Crea un vettore riga di 50 elementi, contenente i valori di 50 punti equispaziati in I Definire la funzione e valutarla: x è un vettore, si vuole calcolare y i = xi 2cos(x i) per ogni i, quindi si devono usare le operazioni.. >> f=@(x) x.^2.*cos(x); y=f(x); Rappresentare i punti (x i, y i ) su di un piano cartesiano: >> plot(x,y) page 9

Esempio di grafico di una superficie Sia data la funzione f (x, y) = sin( x 2 + y 2 ) (x, y) [ 3π/2, 3π/2] [ 3π/2, 3π/2] Per costruire il grafico serve la griglia dei valori (x, y) che si ottiene dai vettori x e y, mediante la function meshgrid. >> m=20;n=25; >> x=linspace(-pi,pi,n); >> y=linspace(-pi,pi,m); >> [X,Y]=meshgrid(x,y); In questo modo si ottengono due matrici che contengono rispettivamente le ascisse e le ordinate dei punti della griglia. Per disegnare la funzione: >> Z=sin(X.*Y); >> mesh(x,y,z) page 10

di superfici Funzione view colormap shading mesh surf surfl contour contourf pcolor meshgrid Significato cambia l orientamento del grafico. cambia il colore al grafico. cambia l ombreggiatura al grafico. disegna un grafico a griglia. disegna un grafico di superficie. disegna un grafico di superficie con ombreggiatura. disegna un grafico a curve di livello. disegna un grafico a curve di livello riempite. disegna una scacchiera colorando le caselle. genera i punti di una griglia. page 11

contour Il comando contour permette di disegnare le linee di livello di una superficie. I vettori X,Y,Z contengono i punti della mesh e i valori della funzione rispettivamente. >> contour(x,y,z) disegna 9 linee di livello >> contour(x,y,z,n) disegna N linee di livello >> contour(x,y,z,[v v]) disegna la linea di livello v >> contour(x,y,z,... disegna le linee di livello [v1 v2 v3 v4... vn]) v1 v2 v3 v4... vn Il comando contour3 disegna le linee di livello in un grafico tridimensionale. page 12

linspace Se il passo non è intero, può essere preferibile il comando linspace per creare un vettore di punti equispaziati in un intervallo: linspace (Inizio, Fine, Numero di Punti) >> a=0; b=1; n=8; >> x=linspace(a,b,n) x = Columns 1 through 7 0 0.1429 0.2857 0.4286 0.5714 0.7143 0.8571 Column 8 1.0000 Il vettore ha componenti: x(i) = a + (i 1) b a n 1 per i = 1,..., n. Return page 13

Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per elemento.^ potenza elemento per elemento >> a1b=a1.*b a1b = 1 4 15 16 (a1b) i =(a1) i *b i 1 2 con a1 = 3 4 e b = 1 2 5 4 Return page 14