Introduzione all uso di Matlab



Documenti analoghi
STATISTICA DESCRITTIVA CON EXCEL

PROCEDURA INFORMATIZZATA PER LA COMPENSAZIONE DELLE RETI DI LIVELLAZIONE. (Metodo delle Osservazioni Indirette) - 1 -

LA COMPATIBILITA tra due misure:

Perché calcolo interattivo?

Relazioni tra variabili: Correlazione e regressione lineare

Analisi ammortizzata. Illustriamo il metodo con due esempi. operazioni su di una pila Sia P una pila di interi con le solite operazioni:

Statistica e calcolo delle Probabilità. Allievi INF

Studio grafico-analitico di una funzioni reale in una variabile reale

STATISTICA SOCIALE Corso di laurea in Scienze Turistiche, a.a. 2007/2008 Esercizi 16 novembre2007

Leggere i dati da file

Capitolo 3 Covarianza, correlazione, bestfit lineari e non lineari

3. Esercitazioni di Teoria delle code

Dipartimento di Statistica Università di Bologna. Matematica finanziaria aa lezione 13: 24 aprile 2013

* * * Nota inerente il calcolo della concentrazione rappresentativa della sorgente. Aprile 2006 RL/SUO-TEC 166/2006 1

Metodi e Modelli per l Ottimizzazione Combinatoria Progetto: Metodo di soluzione basato su generazione di colonne

Trigger di Schmitt. e +V t

Ministero della Salute D.G. della programmazione sanitaria --- GLI ACC - L ANALISI DELLA VARIABILITÀ METODOLOGIA

Esercizio. Alcuni esercizi su algoritmi e programmazione. Schema a blocchi. Calcolo massimo, minimo e media

Macchine. 5 Esercitazione 5

Calcolo della caduta di tensione con il metodo vettoriale

Lezione 10. L equilibrio del mercato finanziario: la struttura dei tassi d interesse

Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa Esercitazione: 4 aprile 2013

Laboratorio di Matematica e Informatica 1

La verifica delle ipotesi

Controllo e scheduling delle operazioni. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Soluzione esercizio Mountbatten

Valore attuale di una rendita. Valore attuale in Excel: funzione VA

Variabili statistiche - Sommario

Introduzione al Machine Learning

STATISTICA DESCRITTIVA - SCHEDA N. 5 REGRESSIONE LINEARE

Relazione funzionale e statistica tra due variabili Modello di regressione lineare semplice Stima puntuale dei coefficienti di regressione

Esercizio. Alcuni esercizi su algoritmi e programmazione. Schema a blocchi. Calcolo massimo, minimo e media

RETI TELEMATICHE Lucidi delle Lezioni Capitolo VII

La rappresentazione dei numeri. La rappresentazione dei numeri. Aritmetica dei calcolatori. La rappresentazione dei numeri

Esercitazioni del corso: STATISTICA

NOTE DALLE LEZIONI DI STATISTICA MEDICA ED ESERCIZI CONFRONTO DI PIU MEDIE IL METODO DI ANALISI DELLA VARIANZA

TITOLO: L INCERTEZZA DI TARATURA DELLE MACCHINE PROVA MATERIALI (MPM)

Aritmetica e architetture

La retroazione negli amplificatori

Corso di Statistica (canale P-Z) A.A. 2009/10 Prof.ssa P. Vicard

Dai circuiti ai grafi

Circuiti di ingresso differenziali

GLI ERRORI SPERIMENTALI NELLE MISURE DI LABORATORIO

Manuale di istruzioni Manual de Instruções Millimar C1208 /C 1216

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 12

Università degli Studi di Urbino Facoltà di Economia

Analisi di mercurio in matrici solide mediante spettrometria di assorbimento atomico a vapori freddi

La regressione. La Regressione. La Regressione. min. min. Var X. X Variabile indipendente (data) Y Variabile dipendente

Introduzione a MATLAB

Ottimizzazione nella gestione dei progetti Capitolo 6 Project Scheduling con vincoli sulle risorse CARLO MANNINO

Modelli descrittivi, statistica e simulazione

Test delle ipotesi Parte 2

Lezione 2 a - Statistica descrittiva per variabili quantitative

Verifica termoigrometrica delle pareti

Risoluzione quesiti I esonero 2011

POLITECNICO DI BARI - DICATECh Corso di Laurea in Ingegneria Ambientale e del Territorio IDRAULICA AMBIENTALE - A.A. 2015/2016 ESONERO 15/01/2016

Grafico di una serie di dati sperimentali in EXCEL

Strutture deformabili torsionalmente: analisi in FaTA-E

Condensatori e resistenze

Università degli Studi di Cassino, Anno accademico Corso di Statistica 2, Prof. M. Furno

Esame di Statistica Corso di Laurea in Economia

Capitolo 3. Cap. 3-1

ANALISI STATISTICA DELLE INCERTEZZE CASUALI

Questo è il secondo di una serie di articoli, di

Prova di verifica n.0 Elettronica I (26/2/2015)

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Algoritmi

Misure di dispersione. Introduzione. Statistica descrittiva. Distribuzioni di probabilità e funzioni di ripartizione. Indici di posizione

Metodi ad un passo espliciti con passo adattivo Metodi Runge - Kutta

TEST D INGRESSO MATEMATICA 24/05/2011

x 0 x 50 x 20 x 100 CASO 1 CASO 2 CASO 3 CASO 4 X n X n X n X n

Realizzazione di FSM sincrone. Sommario. Introduzione. Sommario. M. Favalli

Matematica Computazionale(6cfu) Ottimizzazione(8cfu)

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 settembre Attenzione:

Predimensionamento reti chiuse

Predimensionamento reti chiuse

* PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE *

INDICI STATISTICI MEDIA, MODA, MEDIANA, VARIANZA

Tutti gli strumenti vanno tarati

CAPITOLO IV CENNI SULLE MACCHINE SEQUENZIALI

Lezioni di Statistica (25 marzo 2013) Docente: Massimo Cristallo

Esercitazioni del corso di Relazioni tra variabili. Giancarlo Manzi Facoltà di Sociologia Università degli Studi di Milano-Bicocca

Algoritmi basati sulla tecnica Divide et Impera

Progetto Lauree Scientifiche. La corrente elettrica

Algoritmi di Ordinamento. Fondamenti di Informatica Prof. Ing. Salvatore Cavalieri

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Modelli per la Logistica: Single Flow One Level Model Multi Flow Two Level Model

Sistemi Intelligenti Relazione tra ottimizzazione e statistica - IV Alberto Borghese

Principi di ingegneria elettrica. Lezione 6 a. Analisi delle reti resistive

Fondamenti di Visione Artificiale (Seconda Parte) Corso di Robotica Prof.ssa Giuseppina Gini Anno Acc /2007

Lezione 2 a - Statistica descrittiva per variabili quantitative

Capitolo 7. La «sintesi neoclassica» e il modello IS-LM. 2. La curva IS

Esame del corso di Tecniche Avanzate per il Trattamento delle Immagini

Calibrazione. Lo strumento idealizzato

Fotogrammetria. O centro di presa. fig.1 Geometria della presa fotogrammetrica

Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa lezione 22: 30 maggio 2013

Cenni di matematica finanziaria Unità 61

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 17 Luglio Attenzione:

Fondamenti di Informatica Ingegneria Meccanica, Elettrica, Gestionale Prova scritta del 27 Aprile 2004

Equilibrio e stabilità di sistemi dinamici. Stabilità dell equilibrio di sistemi dinamici non lineari per linearizzazione

Corso di laurea in Ingegneria Meccatronica. DINAMICI CA - 04 ModiStabilita

Università di Verona Prof. S. De Marchi Verona, 30 gennaio 2007

Transcript:

Introduzone all uso d Matlab RIASSUNTO avvo del programma costant macro funzon cclo for struttura f else help / lookfor vettor e operazon statstca: meda, varanza grafca: plot matrc e operazon generator numer casual I eserczo (rsolto): ft lneare mn. chquadro II eserczo (da fare): calcolo errore sulla gttata Controllare: Clck sull cona d matlab col tasto-dx mouse propertes Nella fnestra Start n: nserre D:\TecDgIII\matlab\ N.B.: tutt vostr fle dovranno essere salvat nella dr: D:\TecDgIII\ 1

Un elenco d programm d calcolo nterattvo Programm ntes prmaramente per l calcolo smbolco Mathematca Wndows, Mac, Lnux Maple Wndows, Mac, Lnux Programm ntes prmaramente per l calcolo numerco: Matlab - commercale - Wndows, Mac, Lnux Octave - gratuto - Lnux, (wndows?) Sclab - gratuto - Lnux, Wndows root - gratuto - Lnux, Mac, Wndows (per ch conosce l C/C++) paw - gratuto Lnux (per ch conosce l fortran) Per Lnux s trovano molte altre possblta, come grace, R,...

Perché Matlab Un programma commercale... ma: - programma potente - semplce da mparare/usare - molto utlzzato sa nell ambto scentfco che ndustrale - fornto d molte lbrere agguntve (toolbox) contenent funzon specfche a dvers tp d anals de dat Esste un clone free, con la medesma sntass: Ch possede un computer domestco con s.o. Lnux può rpetere a casa buona parte delle eserctazon, e mpratchrs de comand fondamental. 3

Avvare Matlab Clccare sull cona Appare lo schermo: 4

Prm esemp:»» 10*1 10»» sn(.3) 0.955» log(.) -1.6094»» ans+1-0.6094» Qu Matlab vene utlzzato come una calcolatrce: lavora drettamente su numer» x=15 x = 15» y=3.14159 y = 3.1416» z=x^+y^ z = 34.8696» x=15;» y=3.14159;» z=x^+y^;» z z = 34.8696 Qu nvece vengono utlzzate le varabl smbolche x,y,z. Per evtare l effetto d eco, comand possono essere termnat con un punto e vrgola ;. 5

Costant Alcune costant varabl possedono un valore predefnto,ad esempo: p=3.1415965358979 realmn=.507385850701e-308 è l pù pccolo numero reale realmax=1.79769313486316e+308 è l pù grande numero reale eps=.044604950313e-016 la mnma dfferenza percentuale tra due numer,i,j,j sono l untà mmagnara. 6

Macro Se s devono esegure pù comand n una volta sola, è possble creare una macro: una macro non è altro che un fle contenente tutte le struzon che s desdera esegure. Per creare una macro, bsogna clccare sul dsegno della pagna banca, l prmo a snstra nella sbarra degl strument. Una nuova macro vene aperta all nterno dell edtore: s possono scrvere comand, nell ordne n cu s desdera esegurl, e po salvare. Per esegure la macro, bsogna dgtare l nome del fle al prompt. Ad esempo, se s dà alla macro l nome mymacro, l fle salvato s chamerà mymacro.m, e per esegurlo bsognerà dgtare al prompt: mymacro. Tutte le varabl create o modfcate dalla macro saranno dsponbl alla fne dell esecuzone. 7

Funzon La dfferenza pù vstosa tra una macro ed una funzone è costtuta dalla sua sntass: per esegure una funzone bsogna dare un comando del tpo : y=func(x), oppure, n modo pù generale, [y1 y y3 ]=func(x1,x,x3,..) Le varabl x1, x, x3 sono dette varabl d ngresso: sono le unche varabl sulle qual lavora la funzone. Le varabl y1, y, y3. sono dette varabl n uscta: vengono create o modfcate dalla funzone, e contengono l rsultato delle operazon effettuate al suo nterno. Tutte le altre varabl create dalla funzone vengono dstrutte al termne dell esecuzone. Una funzone nza con una rga del tpo: functon [y1,y,y3 ]=func(x1,x,x3,.) e termna con l struzone: return. 8

Esempo functon [S, p, d]=rettangolo(a,b) % questa rga, preceduta dal smbolo del percento, % e un commento. S=a*b; p=*a+*b; d=sqrt(a^+b^); return Questa funzone, dat lat del trangolo a, b resttusce la superfce S, l permetro p e la dagonale d. Per usarla, dopo aver salvato n un fle rettangolo.m, devo dare un comando del tpo: [sup, per, dag]=rettangolo(a,b); S not come nom utlzzat per le varabl possono anche essere dvers da quell usat nternamente dalla funzone. Quello che mporta e solamente l ordne. 9

Cclo for Un cclo for è una sere d struzon del tpo: for k=1:100 operazon. end Il prncpo è semplce: alla varable k vene dato l valore nzale 1, po vengono esegute le struzon, qund a k vene dato l valore, e le operazon vengono d nuovo esegute, così va fno ad arrvare ad 100. Esempo: functon fatt=fattorale(n) fatt=1; for k=1:n fatt=fatt*k; end return Questa funzone calcola n! 10

f (condzone1) struzone 1 elsef (condzone) struzone else struzone 3 end Struttura f.else In questo schema dapprma vene verfcata la condzone 1: n caso affermatvo, l struzone 1 vene eseguta. Se la condzone 1 non e verfcata, s passa al controllo della condzone : se questa è verfcata s esegue l struzone. Se nessuna delle due condzon precedent e verfcata, e solo n questo caso, s esegue l struzone 3. Esempo: per evtare d calcolare logartm d zero, o d un numero negatvo f (x>0) lx=log(x); else lx=nan; %NaN= not a number. end 11

Condzon x>a x maggore d a x<a x mnore d a x>=a x maggore o uguale ad a x<=a x mnore o uguale ad a x==a x uguale ad a (attenzone a non scrvere =) x~=a x dverso da a L espressone f (x) controlla se x è dverso da zero. & and logco: (x>10)&(y>100) or logco : (x>10) (y>100) ~ negazone: ~(x==a) corrsponde a (x~=a) 1

Ottenere auto dal programma Se s conosce l nome della funzone, e s voglono conoscere dettagl sul suo funzonamento, esste l comando help:» help round ROUND Round towards nearest nteger. ROUND(X) rounds the elements of X to the nearest ntegers. See also FLOOR, CEIL, FIX. Un comando utle per trovare una funzone sconoscuta èlookfor Altrment, andando nel menù help help wndow compare una fnestra n cu tutt comand e le funzon sono raggruppat per categore, con una breve descrzone. Infne s può sceglere help desk: questo comando aprrà l browser con la documentazone completa d matlab (questa è la pù esaurente, ma anche la pù dspersva). 13

Vettor» x=[1 4 8 16] x = 1 4 8 16» y=[1; 4; 8; 16] y = 1 4 8 16» x(3)» 8 Posso creare un vettore rga oppure un vettore colonna, separando gl ndc da un ; Le sngole component del vettore possono essere ottenute ponendo l ndce tra parentes tonde: x(3) è la terza componente del vettore x» z=3*x z = 3 1 4 48» z=x+5 z = 6 9 13 1 Moltplcare un vettore per un numero equvale a moltplcare tutt gl element per lo stesso numero. Analogamente, aggungere un numero vuol dre aggungere lo stesso valore a tutte le component. Lo stesso s ottene moltplcando per o aggungendo una varable numerca. 14

Creazone ed ndczzazone» x=[1:10] x = 1 3 4 5 6 7 8 9 10» y=[0:.3:.] y = 0 0.3000 0.6000 0.9000 1.000 1.5000 1.8000»» y(3:5) 0.6000 0.9000 1.000» x=lnspace(0,13,10) x = Columns 1 through 7 0 1.4444.8889 4.3333 5.7778 7. 8.6667 Columns 8 through 10 10.1111 11.5556 13.0000» pp=[1 4 5 ];» y(pp) 0 0.9000 1.000» Crea un vettore con gl nter da 1 a dec Crea un vettore partendo dal prmo valore ed ncrementando del secondo fno a gungere al terzo. Crea un vettore d 10 element equspazat, con prmo elemento 0 e ultmo elemento 13. Indczzazone d vettor: posso selezonare solamente un sottonseme del vettore. 15

Operazon tra vettor Queste operazon sono una caratterstca del lnguaggo usato da matlab:» x=[1 3 4 5 ];» y=[ 4 6 8 10];» z=x+y z = 3 6 9 1 15» y=[ 4 6 8 10 1];» z=x+y??? Error usng ==> + Matrx dmensons must agree. Posso sommare o sottrarre due vettor rga o colonna della stessa dmensone: matlab somma elemento per elemento. Posso calcolare espresson come sn(x), exp(x), etc: matlab applca l espressone artmetca ad ogn sngolo elemento»» z=sn(x) z = 0.8415 0.9093 0.1411-0.7568-0.9589 16

Prodotto tra vettor Posso effettuare l prodotto d due vettor elemento per elemento se quest hanno la stessa dmensone: s ndca col smbolo.* Se x e y hanno la stessa lunghezza, ma sono un vettore rga ed uno colonna, posso effettuare una ordnara moltplcazone rga * colonna utlzzando l smbolo * Posso anche effettuare l prodotto esterno : n questo caso ottengo una matrce: nella pratca, basta porre prma l vettore colonna e po l vettore rga. M = j y x j» x=[1 3 4 5 ];» y=[ 4 6 8 10];»» x.*y 8 18 3 50» x=[1 3 4 5 ];» y=[; 4; 6; 8; 10];» x*y 110» y*x 4 6 8 10 4 8 1 16 0 6 1 18 4 30 8 16 4 3 40 10 0 30 40 50 17

Altre operazon» x=[0 1-4 5 13-10];» length(x) 7» [m ]=max(x) m = 13 = 6» [m ]=mn(x) m = -10 = 7» pt=fnd(x<0) pt = 3 7» La funzone length rtorna la lunghezza del vettore. Le funzon max e mn resttuscono l valore massmo e mnmo e l ndce a cu quest valor corrspondono. La funzone fnd(condzone) resttusce un vettore contenente gl ndc per cu la condzone è verfcata. 18

Statstca» x=[0 1-4 5 13-10];» mean(x) 1.5714» std(x) 7.0441» sum(x) 11» prod(x) 0» medan(x) 1» Le funzon mean, std, cov, medan calcolano la meda, la devazone standard, la varanza e la medana de dat contenut n x. Le funzon sum(x) e prod(x) calcolano la somma e l prodotto degl element. Ad esempo: sqrt(sum(x.^)) calcola l modulo del vettore x prod([1:n]) calcola l fattorale d n. 19

Plot» t=[0:.001:1];»» x=sn(5*t**p);» plot(t,x)» Quest comand creano un vettore t tra 0 ed 1 secondo, a pass d 1 ms, po un vettore contenente una snusode d frequenza 5 Hz, ed nfne creano un grafco con t n ordnata e x n ascssa. 0

Altr esemp. Plot(t,x,. ) stampa una sere d punt plot(t,x, r ) stampa una lnea rossa (g, verde, m magenta, y yellow, k nero, etc ) plot(t,x,,t,y, r ) stampa due grafc nella stessa fgura, x e y n funzone d t. plot3(x,y,z) grafco trdmensonale d x,y,z semlogx(t,x) Usa una scala logartmca nelle ascsse semlogy(t,x) Usa una scala logartmca nelle ordnate loglog(t,x) Usa una scala b-logartmca 1

Matrc Un vettore con due ndc costtusce una matrce ad esempo:» m=[1 3 4; 3 5 9 11; 4 8 1 16] m = 1 3 4 3 5 8 11 4 8 1 16 Crea una matrce 3 x 4»» m(,3) 9» m' 1 3 4 5 8 3 8 1 4 11 16 L elemento, 3 della matrce (seconda rga, terza colonna) L operatore apce permette d trasporre una matrce. I vettor rga non sono altro che matrc con la prma dmensone uguale ad uno, e cos vettor colonna sono matrc con la seconda dmensone uguale ad 1. Le matrc d uguale dmensone s possono sommare, sottrarre, moltplcare per un numero o sommare ad un numero con le stesse regole de vettor.

Indczzazone» m=[1 3 4; 3 5 9 11; 4 8 1 16] m = 1 3 4 3 5 9 11 4 8 1 16» m(,:) 3 5 9 11» m(:,) 5 8» [ j]=fnd(m>10) = 3 3 j = 3 4 4» Il prmo ndce ndca la rga, l secondo la colonna. S può estrarre una sngola rga o una sngola colonna utlzzando due punt : La funzone fnd resttusce due vettor d ndc, uno per le rghe e l altro per le colonne. 3

Operazon con matrc» a=[1 3 ; 3 4] a = 1 3 3 4» b = [1 ; 3 4 ; 5 6 ] b = 1 3 4 5 6» a*b 8 31 40» b*a 5 8 11 11 18 5 17 8 39 Posso moltplcare una matrce (m x n) con una (n x l) Il rsultato sarà una matrce (m x l) Posso moltplcare una matrce (m x n) per un vettore colonna d lunghezza n: l rsultato sara un vettore colonna d lunghezza m Posso moltplcare un vettore rga d lunghezza n per una matrce d dmenson (n X m): l rsultato sarà un vettore rga d lunghezza m. L operatore.* (punto seguto da astersco) permette d effettuare la moltplcazone elemento per elemento d matrc d ugual dmenson. Allo stesso modo funzonano./ e.^ M^ ndca nvece l quadrato d una matrce effettuato moltplcando rga per colonna. 4

Operazon su matrc» a=[1 3; 1 4 9; 1 8 7] a = 1 3 1 4 9 1 8 7» rank(a) 3» det(a) 1 Data una matrce a, rank(a) da l rango della matrce, ne lmt delle approssmazon numerche Per matrc quadrate: det(a) da l determnante. trace(a) da la tracca nv(a) da l nverso» nv(a) 3.0000 -.5000 0.5000-1.5000.0000-0.5000 0.3333-0.5000 0.1667 5

Metod Montecarlo I metod Montecarlo permettono d rsolvere problem medante l uso d numer casual, o meglo pseudocasual. Una sequenza d numer pseudo casual è una sequenza generata da un processo del tpo: x n = f n ( x ) 1 Nonostante la sequenza sa determnstca e perodca, numer che compongono la sequenza appaono totalmente scorrelat tra d loro, e rsultano ndstngubl anche medante test raffnat da una autentca sequenza d numer casual. La funzone f è n realtà un algortmo complcato e fortemente non lneare. La maggor parte de generator d numer pseudocasual permette d estrarre numer compres tra 0 ed 1 con dstrbuzone unforme. Tramte semplc algortm è possble ottenere una sequenza d numer pseudocasual con dstrbuzone d probabltà qualsas. Eserczo: Dmostrare che se x è dstrbuta n modo unforme tra 0 e 1, y=x sarà dstrbuta secondo la funzone 1/y 1/ 6

Generator d Matlab» x=rand([1 7]) x = 0.1038 0.6960 0.7177 0.568 0.4 0.8566 0.0687 La funzone rand(v) genera una matrce d numer casual d dmenson v(1), v() dstrbut unformemente tra 0 e 1.» x=randn([1 7]) x = -0.0376 0.373 0.1746-0.1867 0.758-0.5883.183» y=3+.*x y =.947 3.6546 3.3493.666 4.4516 1.834 7.3664» La funzone randn genera numer dstrbut secondo una gaussana d meda zero e larghezza 1 (dstrbuzone normale). Per ottenere numer dstrbut n modo normale con meda e larghezza qualunque, basta moltplcare per la larghezza desderata ed aggungere la meda. Nell esempo, y è dstrbuta con larghezza e meda 3. 7

Prmo Eserczo L eserczo consste nella realzzazone e nel test d un programma per effettuare l ft del mnmo ch-quadro. La funzone crea_dat e un semplce programma d tpo Montecarlo, che crea una sere d dat legat da una relazone lneare cu vene aggunto un errore d msura smulato la cu enttà relatva può essere scelta a pacere. Il fle ft_retta contene un programma che permette l ft de dat con l metodo del mnmo chquadro. Il programma dsplay_results permette d vsualzzare l plot de dat ed l rsultato del ft. 8

Il programma Montecarlo Nel caso proposto l programma crea_dat crea un vettore x d N element equspazat tra xmn ed xmax, calcola la nuova quantta y come y=ax+b, e po aggunge alla quantta y un errore d msura casuale. L errore d msura vene supposto dstrbuto secondo una gaussana d larghezza relatva err del valore y calcolato n precedenza. In uscta s ottengono oltre a vettor x e y l vettore contenente la larghezza della gaussana: [x y s]= crea_dat(xmn,xmax,n,a,b,err); S puo verfcare mmedatamente l rsultato effettuando un plot. Ad esempo: [x y s]=crea_dat(0,1,1000,7,3,0.10); plot(x,y,. ); 9

Lstato della funzone crea_dat functon [x,y,dy] = crea_dat(xmn,xmax,ndat,a,b,relerror); % Questa functon crea 3 vettor: % le ascsse d Ndat dat, equdstrbut tra xmn e xmax % le ordnate dstrbute normal lungo la retta a*x+b, con un errore relatvo RelError % gl error d msura. % % creo le ascsse x = lnspace(xmn,xmax,ndat); % creo un vettore della stessa dm. d x dstrbut normal r = randn(sze(x)); % calcolo l vettore delle ordnate corrspondent alla retta y = a*x + b; % calcolo l'errore su ogn msura dy = RelError*y; % aggungo alla y nomnale l'errore d msura (nota che quest'ultmo ha meda zero e sgma = dy) y = y + r.*dy; return 30

Lstato del programma d ft functon [a, b, deltaa, deltab, ch, ndof, probch] = ft_retta_mn_ch(x, y, dy); % effettua l ft d una retta col metodo del mnmo ch. % se non vene fornto l vettore d error dy, vene creato con valor = 1(--> mn quadrat) % y = ax + b % Calcola: % 1) a e b con relatv error % ) l ch, grad d lberta' e la prob. del ch % % Inzalzzo a=0; b=0; deltaa=-1; deltab=-1; ch=-1; ndof=-1; probch=-1; % f ((nargn~=)&(nargn~=3)) contnua dsp('errore ne parametr d nput') return elsef nargn== dsp('impongo sgma y = 1'); dy = ones(sze(y)); end 31

% controllamo che x, y e sgmay abbano la stessa lunghezza f ((length(x)~=length(y)) (length(x)~=length(dy))) return end f (length(x)<=) dsp('errore servono almeno 3 punt') return end % % Calcolo var coeff. % c11 a + c1 b = c13 % c1 a + c b = c3 % s=dy.*dy; % c11 = sum(x.*x./s); c1 = sum(x./s); c1 = c1; c = sum(1./s); % Termne noto c13 = sum(x.*y./s); c3 = sum(y./s); % crea la matrce M=[c11 c1 ; c1 c]; % controlla l rango d M Delta=det(M); f (Delta==0) dsp('determnante nullo'); return end Ma = [c13 c1; c3 c]; Mb = [c11 c13; c1 c3]; % Rsolvo l sstema lneare a=det(ma)/delta; b=det(mb)/delta; % calcolo gl error deltaa=sqrt(c/delta); deltab=sqrt(c11/delta); % resduo =(y-a*x-b); pull = resduo./dy; ch = sum(pull.*pull); ndof = length(y)-; chnorm = pull/ndof; probch = 1-chcdf(ch,ndof); return 3

Lstato funzon dsplay_results (e plot_lne) functon dsplay_results(x,y,dy,a,b,da,db,probch); % questa functon plotta punt e sovrappone la retta fttata e scrve sul termnale parametr % del ft, compresa la prob del ch errorbar(x,y,dy, b. ); plot_lne(a,b,x,y); % dsp('pendenza retta:'); a da dsp('termne noto:'); b db dsp('prob. del ch:'); probch return functon plot_lne(a,b,x,y); % rporta nel grafco corrente la retta d pendenza a e coeff. noto b nponts = length(x); ylne=[a*x(1)+b a*x(nponts)+b]; xlne=[x(1) x(nponts)]; lne(xlne,ylne); return Prova ad esegure (eserczo_1) che contene: [x,y,dy] = crea_dat(1,10,50,1,1,0.1); [a, b, deltaa, deltab, ch, ndof, probch]=ft_retta_mn_ch(x,y,dy); dsplay_results(x,y,dy,a,b,deltaa,deltab,probch); (Il codce e dsponble nella drectory http://www.df.unp.t/~bettarn/tecdgiii/matlab_code/ ) 33

34 Formule per l mnmo χ ( ) = = N b ax y 1 χ = = = = = = = + = + N N N N N N y b x a y x x b x a 1 1 1 1 1 1 1 MA = V = = = 1 y y x V x x x M b a A La funzone da mnmzzare e Dervando s ottene: In forma matrcale: V M A 1 = Con soluzone formale:

35 Soluzon = 1 a y x y x M = b y x y x x M M M M a a a = = 1 M x M M b b b = =

Secondo eserczo (da fare) S consder un esempo semplce: un cannone con alzo θ che spara proettl con veloctà v 0 ha una gttata data dalla formula: v0 sn(θ ) d = Supponamo che la veloctà del proettle sa n realtà dstrbuta con larghezza nota ntorno al valore v0, e che anche l alzo sa ndetermnato d un certo valore: n questo caso l punto d mpatto rsulterà pure ndetermnato ntorno alla poszone teorca. Il calcolo dell ndetermnatezza è facle nel caso d angol dvers da 45 grad: per quel valore nfatt la gttata ha un massmo e bsogna rcorrere ad approssmazon al II ordne. Per calcolare la dstrbuzone del punto d mpatto s può allora provare ad utlzzare l metodo Montecarlo. C porremo l problema d ruscre a calcolare l punto d mpatto medo d un proettle sparato da un cannone con alzo par a 45 ± 5 grad con veloctà v=0 ±0. m/s, e la percentuale d colp che cadono entro un metro dal punto d mpatto medo. g 36

Procedura da mplementare 1) s genera un vettore contente un nseme pseudocasuale d angol dstrbut secondo una gaussana d meda 45 e larghezza 5, da convertre successvamente n radant ) S genera un vettore contenent veloctà casual con meda 0 e larghezza 0. 3) s calcola l vettore delle gttate corrspondent a cascun lanco 4) s calcola la meda e la devazone standard delle gttate e la s confronta col valore teorco 5) s esamna la dstrbuzone delle gttate tramte l comando hst(x,n) che genera a partre dal vettore x un stogramma con n canal 6) s determna, tramte l comando fnd, l numero d proettl che cadono entro un metro dal punto d mpatto teorco. 37