Metodi Numerici con Elementi di Programmazione A.A

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Metodi Numerici con Elementi di Programmazione A.A"

Transcript

1 Metodi Numerici con Elementi di Programmazione A.A Introduzione al MatLab (appice + esercizi) 1

2 Docente: Vittoria Bruni Ufficio: Via A. Scarpa, Pal. B, I piano, Stanza n. 16 Tel Ricevimento: consultare la sezione Avvisi nella pagina web dedicata al corso 2

3 Il materiale didattico è disponibile sul sito nella pagina dedicata al corso Metodi Numerici con elementi di Programmazione Per consultazione: Getting Started with MatLab The mathworks 3

4 Esercizio Scrivere uno script Matlab che dato un intero n 2, costruisca le matrici A k così definite k=1,2,,n-1

5 Strutture dati E possibile definire vettori a più dimensioni N=2 A(i,j) (matrici) i = indice di riga j = indice di colonna di A N=3 A(i,j,k) (vettore di matrici della stessa dimensione) i = indice di riga j = indice di colonna della k-sima matrice contenuta nella k-sima componente di A Esempio: B = A(:,:,k) B è una matrice a = A(i,j,k) a è l elemento avente indice di riga i e indice di colonna j della k-sima matrice in A In generale si può definire una struttura dati con N indici A(i,j,.,k) N indici Per conoscere la dimensione di A si usa la funzione size >> S = size(a); S è un vettore di N elementi, se N sono gli indici di A

6 Strutture dati Esempio: >> A = ones(6); >> B = randn(6); >> C = 10*ones(6); >> I(:,:,1) = A; >> I(:,:,2) = B; >> I(:,:,3) = C; >> size(i) ans = >> I(:,:,3) ans = >> I(3,2,1) % estrae l elemento di posizione (3,2) nella prima % componente di I ans = 1

7 Strutture dati Esempio: Un immagine a colori RGB si memorizza nella variabile I tale che I(:,:,1) matrice componente del rosso I(:,:,2) matrice componente del verde I(:,:,3) matrice componente del blu La dimensione di I è mxnx3 (mxn è la dimensione della immagine) I = imread( nome_immagine.ext ) legge l immagine contenuta nel file nome_immagine.ext e la memorizza in una matrice I a 2 (livelli di grigio) o più dimensioni (colore); ext è l estensione del file (jpg,png,tiff, etc. ) imshow(i) visualizza un immagine

8 Esercizio Scrivere uno script Matlab che dato un intero n 2, costruisca le matrici A k così definite k=1,2,,n-1 N = input( inserisci la dimensione delle matrici n = ); if n <=1, error( n deve essere >= 2 ) else n = round(n) % mi assicuro che n sia intero d = n*ones(1,n); for k=1:n-1 A(:,:,k) = diag(d); for i=1:n, for j=1:n, if abs(i-j)==k, A(i,j,k)=-1,,

9 Function MATLAB per la costruzione della tavola alle differenze divise function [mat_diff] = diff_div(xnodi,fnodi) % mat_diff = diff_div(xnodi,fnodi) % Calcolo della tavola alle differenze divise a partire dai valori dei nodi % e dalla funzione nei nodi (memorizzati nella prima colonna della % matrice mat_diffdiv). % % Input: % xnodi: vettore delle coordinate dei nodi % fnodi: valori della funzione nei nodi % Output: % mat_diff: tavola delle differenze divise (per colonne) nella prima % colonna ci sono i valori fnodi nnodi=length(xnodi); % ordine massimo delle differenze divise kord = nnodi-1;

10 Function MATLAB per la costruzione della tavola alle differenze divise % inizializzazione della tavola alle differenze divise la prima colonna % contiene i valori della funzione nei nodi mat_diff = zeros(nnodi,kord+1); mat_diff(:,1) = fnodi'; % calcolo della tabella for j = 1:kord, % indice per le colonne della tavola (ordine delle diff. divise) for i = 0:nnodi-1-j, % indice per le righe della tavola (nodi coinvolti) mat_diff(i+1,j+1) = (mat_diff(i+1,j)-mat_diff(i+2,j))/(xnodi(i+1)-xnodi(i+j+1));

11 Dal Command window

12 Function MATLAB per la costruzione del polinomio di Newton alle differenze divise function[pn,tavdif] = pol_difdiv(xnodi,fnodi,xeval) % Polinomio interpolatore alle differenze divise: % [pn,tavdif] = pol_difdiv(xnodi,fnodi,xeval) % Input: % xnodi: vettore delle coordinate dei nodi % fnodi: valori nei nodi della funzione da interpolare % xeval: vettore delle coordinate dei punti in cui calcolare %il polinomio interpolatore % Output: % pn: vettore dei valori del polinomio interpolatore calcolato in xeval % tavdif: tavola delle differenza divise calcolata usando la funzione % diff_div.m % controllo degli input if length(xnodi)~=length(fnodi) error('il vettore dei nodi ha dimensione diversa dal vettore dei valori della funzione!!!')

13 Function MATLAB per la costruzione del polinomio di Newton alle differenze divise % Calcolo della tavola alle differenze divise tavdif = diff_div(xnodi,fnodi); % Calcolo del polinomio interpolatore di grado nnodi-1 nnodi = length(fnodi); pn = tavdif(1,1); % primo elemento della tavola (f[x0]) pnod = 1; %inizializzazione dei polinomi nodali for i=1:nnodi-1 pnod = pnod.*(xeval-xnodi(i)); pn = pn + pnod*tavdif(1,i+1);

14 Dal Command Window: >> xnodi = [ ]; >> fnodi = [ ]; >> [pn,tavdif] = pol_difdiv(xnodi(1:3),fnodi(1:3),2); >> pn pn = e-004 Calcolando il polinomio interpolatore usando tutti i nodi della tabella e valutandolo nel punto x = 2 si ha p3(2) = >> xnodi = [ ]; >> fnodi = [ ]; >> [pn,tavdif] = pol_difdiv(xnodi,fnodi,2); >> pn pn = e-004

15 Esercizio Modificare la funzione pol_difdiv.m in modo che restituisca come ulteriore variabile di output una stima dell'errore di troncamento qualora venga richiesto. In tal caso, la funzione deve prevedere come ulteriore variabile di input un nodo aggiuntivo e il valore della funzione in questo punto.

16

17

18

19

20 Dal Command Window

21 Valutando la funzione nel nodo xeval = 1/6 si ha mentre il valore vero è 0.5

22 Esercizio Scrivere la funzione lagrange.m che, dato un vettore di nodi xnodi, un numero intero i e uno scalare xeval, valuti lo i-esimo polinomio della base di Lagrange nel punto xeval. Scrivere la funzione interp_lagrange.m che, dati due vettori, xnodi e fnodi aventi la stessa lunghezza, e uno scalare xeval, valuti il polinomio interpolatore nella forma di Lagrange costruito sui dati xnodi e fnodi nel punto punto xeval Le funzioni devono contenere opportuni controlli sulle variabili di input

23 Esercizio Scrivere la function Matlab lebesgue.m che: 1.riceva in input i vettori xnodi e xpunti; se xpunti non viene dato in input, assegni a xpunti 1000 punti equispaziati nell' intervallo [xnodi(1); xnodi(length(xnodi)]; 2.costruisca il vettore fleb contenente i valori della funzione di Lebesgue calcolata in xpunti; 3.se xpunti contiene più di un elemento, grafichi la funzione di Lebesgue calcolata in xpunti etichettando opportunamente gli assi; 4.restituisca in output xpunti, il massimo valore di fleb e il punto p_mfleb in cui è realizzato. Utilizzare la function per il seguente vettore di nodi [1.0; 1.5; 2.0; 2.5; 3.0] e salvare gli output nel file risultati_es3.mat 23

24 function [xpunti,mfleb,p_mfleb] = lebesgue(xnodi,varargin) % [xpunti,mfleb,p_mfleb] = lebesgue(xnodi,varargin) valuta e grafica la funzione di % Lebesgue costruita sui nodi contenuti in xnodi in corrispondenza dei punti in % xpunti, ne calcola il massimo e il punto in cui quest'ultimo è realizzato. % Se xpunti non è dato in input, l'intervallo [xnodi(1), xnodi()] è suddiviso in % 1000 punti equispaziati % % INPUT % - xnodi = vettore dei nodi % % OUTPUT % - xpunti = vettore dei punti in cui è stata valutata la funzione di Lebesgue. % Se non è dato in input, è costituito da 1000 punti equispaziati in % [xnodi(1), xnodi()] % - Mfleb = valore massimo assunto dalla funzione di Lebesgue sul vettore di % punti in xpunti % - p_mfleb = punto di xpunti in cui la funzione di Lebesgue assume il valore % massimo 24

25 % controllo degli input if nargin<1 nargin>2 error('il numero delle variabili di input non e'' corretto!'); elseif nargin==1 if length(xnodi)>1 xpunti = linspace(xnodi(1),xnodi(),1000); else error('xnodi deve essere un vettore di almeno due elementi!'); else if length(xnodi)>1 xpunti = varargin{1}; else error('xnodi deve essere un vettore di almeno due elementi!'); NOTA: Modificare insero il seguente controllo su xpunti: gli elementi di xpunti devono essere contenuti nell intervallo [xnodi(1), xnodi()] 25

26 % Calcolo i polinomi di base di Lagrange e li valuto in ogni elemento di xpunti n_xnodi = length(xnodi); n_xpunti = length(xpunti); for i=1:n_xpunti % per ogni elemento di xpunti for n=1:n_xnodi % per ogni nodo in xnodi plag(i,n) = prod(xpunti(i)-xnodi(1:n-1))*prod(xpunti(i)-xnodi(n+1:n_xnodi))/ (prod(xnodi(n)-xnodi(1:n-1))*prod(xnodi(n)-xnodi(n+1:n_xnodi))); NOTA: La variabile plag è una matrice con n_xpunti righe e n_xnodi colonne Ogni elemento in posizione (i,n) contiene il valore che il polinomio della base di Lagrange relativo al nodo n-simo assume in corrispondenza dello i-simo elemento di xpunti 26

27 % calcolo il valore della funzione di Lebesgue in ogni elementi di xpunti fleb = sum(abs(plag')); % calcolo il massimo di fleb [Mfleb,p_Mfleb] = max(fleb); % grafico della funzione di Lebesgue if n_xpunti>1 figure, plot(xpunti,fleb) xlabel('xpunti') ylabel('funzione di Lebesgue') 27

28 Dal Command Window >> xnodi=[1.0, 1.5, 2.0, 2.5, 3.0]; >> [xpunti,mfleb,p_mfleb] = lebesgue(xnodi); >> save risultati_es3.mat xpunti Mfleb p_mfleb Sono equivalenti >> [xpunti,mfleb,p_mfleb] = lebesgue(xnodi,linspace(xnodi(1),xnodi(),1000)); >> [xpunti,mfleb,p_mfleb] = lebesgue(xnodi,2.2); Non produce grafici >> [xpunti,mfleb,p_mfleb] = lebesgue(xnodi(1));??? Error using ==> lebesgue at 24 xnodi deve essere un vettore di almeno due elementi! 28

29 Esercizio Scrivere la function Matlab fun_esercizio5.m che: 1.riceva in input i vettori xnodi e ynodi, un numero reale z e un intero N; se N non viene dato in input, assegni ad N la lunghezza del vettore xnodi diminuita di 1; 2.detta f la funzione che assume i valori in ynodi in corrispondenza dei valori in xnodi, e detto p N il polinomio di grado N che interpola f in un sottoinsieme opportuno di xnodi, valuti, se possibile, e restituisca in output l'errore che si commette approssimando f(z) con p N (z), altrimenti interrompa l'esecuzione e stampi un messaggio di errore. Data la seguente tabella di dati i xi f(xi) utilizzare la function per stimare l'errore commesso approssimando f(0) con p 4 (0) e salvare sia gli input che gli output nel file 29 risultati_esercizio5.mat

30 30

31 31

32 32

33

34

35

36

37 37

38 38

39 39

40 40

41 41

42 Matrice dei coefficienti e vettore dei termini noti del sistema delle equazioni normali 42

43 43

44

45 Esercizi 45

46 Esercizio 1 46

47 function [P] = successione(a,m) %[P] = successione(a,m) calcola i primi M elementi della successione così definita % P(1) = 2*a % P(2) = 4*a^2-1 % P(k) = 2*a*P(k-1)-P(k-2), k>2 % % e la confronta con la successione così definita % Q(k) = 1/(2*sqrt(a^2-1) )* (abs(a+sqrt(a^2-1))^(k+1) - abs(a-sqrt(a^2-1))^(k+1)); % % % INPUT % a = numero reale tale che a >1. La funzione offre tre possibilità per % correggere il valore della variabile data in input, altrimenti % interrompe l'esecuzione % M = numero intero positivo % OUTPUT % P = vettore contenente gli elementi della successione Pn 47

48 % controllo del numero delle variabili di input e di output if (nargin<=1) (nargin>2) error('il numero degli input non e'' corretto!!!') if (nargout>1) error('il numero degli output non e'' corretto!!!') % controllo del primo input tentativi = 0; while abs(a)<=1 & tentativi <3 a= input('il modulo di a deve essere maggiore di 1! a= '); tentativi = tentativi + 1; Nota: All uscita del ciclo while si possono avere le due situazioni seguenti: Il valore di a è in modulo maggiore di 1 e tentativi<=3 Il numero di tentativi ha raggiunto il valore 3 e il valore di a è in modulo minore o uguale a 1 48

49 if abs(a)>1 % controllo del secondo input if (round(m)~=m) (M<=0) error('il secondo input deve essere un numero intero positivo!!!') % calcolo del vettore P P(1) = 2*a; P(2) = 4*a^2-1; for k=3:m P(k)=2*a*P(k-1)-P(k-2); % calcolo del vettore Q Q(1:M) = 1/(2*sqrt(a^2-1)) * (abs(a+sqrt(a^2-1)).^(2:m+1) - abs(a-sqrt(a^2-1)).^(2:m+1)); % grafico dei risultati figure, plot(p,'k-') hold on, plot(q,'r--') xlabel('k'), ylabel('successioni'), title('confronto successioni') leg('vettore P','vettore Q') else error('gli input inseriti non sono corretti!') 49

50 Dal Command Window >> [P] = successione(2,-10);??? Error using ==> successione at 38 il secondo input deve essere un numero intero positivo!!! >> [P] = successione(2,1.5);??? Error using ==> successione at 38 il secondo input deve essere un numero intero positivo!!! >> [P] = successione(2,-1.6);??? Error using ==> successione at 38 il secondo input deve essere un numero intero positivo!!! >> [P] = successione(6);??? Error using ==> successione at 22 il numero degli input non e' corretto!!! 50

51 Dal Command Window >> [P] = successione(-.5,100); il modulo di a deve essere maggiore di 1! a=.5 il modulo di a deve essere maggiore di 1! a=.2 il modulo di a deve essere maggiore di 1! a=.4??? Error using ==> successione at 53 gli input inseriti non sono corretti! >> [P] = successione(2,10); >> [P] = successione(2,100); >> [P] = successione(6,100); >> [P] = successione(-6,100); A queste chiamate la funzione non da messaggi di errore e grafica i risultati 51

52 Esercizio 2 Si consideri la funzione n=1 definita per Scrivere la funzione Matlab esercizio2.m che riceva in input un numero reale y e un numero naturale N 10 e restituisca in output: la variabile S contenente il valore di F(y) ottenuto usando i primi N termini della serie; il vettore C dei coefficienti f n usati. Se N non viene dato in input, porre N=1000. La funzione deve graficare le componenti del vettore C usando una linea continua rossa per i primi 10 elementi e un marcatore di punto a scelta di colore blu per i successivi elementi. Il grafico deve essere completo di titolo, etichette per gli assi e lega. 52

53 function [S,C] = esercizio2(y,varargin) % function [S,C] = esercizio2(y,varargin) %. %. if nargin==1 N=10000; elseif nargin==2 N = varargin{1}; if N<10 (round(n) ~=N) error( il valore di N non e ammissibile ); else error('controllare il numero delle variabili date in input!!!') C(1:2) = 1;, S = 0; for k=1:n S = S + C(k+1)*y^k; C(k+2) = C(k+1)+C(k); C([1 length(c)]) = []; figure, plot(1:10,c(1:10),'r'), hold on, plot(11:length(c), C(11:length(C)),'b*') 53

54 Esercizio 3 Scrivere la funzione Matlab esercizio3.m che: legga in input una matrice A; effettui, se possibile, un opportuno scambio di righe per cui il numero di elementi non nulli su ogni riga di A cresca con l indice di riga; restituisca in output la matrice A, eventualmente modificata in accordo al punto precedente; determini il numero di elementi nulli di A e restituisca in output il coefficiente C dato dal rapporto tra il numero di elementi nulli di A e la dimensione di A definito; Se C =0 stampi il messaggio La matrice non è sparsa Richiamare la funzione scritta sulle seguenti matrici e salvare tutti gli input e gli output nel file risultaties3.mat.

55 function [A,C] = esercizio3(a) % function [A,C] = esercizio3(a) %. %. %. %. [m,n] = size(a); C = length(find(a(:)==0))/(m*n); if C==0 disp('la matrice non e'' sparsa'); else for i=1:m nnz(i) = length(find(a(i,:))); [S,P] = sort(nnz); A=A(P,:); 55

56 Esercizio 4 Scrivere la funzione Matlab esercizio4.m che: legga in input le funzioni f, df, df2, con df e df2 rispettivamente derivata prima e seconda di f, due numeri reali a e b (con a < b) e due interi positivi M e nmax, con nmax non superiore a Se M non viene dato in input, assegni ad M il valore 5; se nmax non viene dato in input, assegni ad nmax il valore massimo consentito; determini un intervallo di separazione I = [a1, b1] [a, b] della radice di f con ampiezza non superiore a 0.25; approssimi la radice di f in I con il metodo delle tangenti, sceglio come approssimazione iniziale x0 l'estremo di Fourier e arrestando il procedimento quando la approssimazione prodotta xn ha M decimali esatti o non appena il numero di iterazioni eseguite diventa pari a nmax. Se l'estremo di Fourier non esiste, si ponga x0 uguale all'estremo positivo più piccolo di I; restituisca in output xn, la variabile fxn contenente il valore di f in xn e l'approssimazione iniziale x0. Utilizzare la funzione scritta per approssimare la radice della equazione non lineare x 3 -cos(x)+ 1/3 = 0 nell'intervallo [0.25, 1] e salvare sia gli input che gli output nel file risultaties4.mat.

57 function [xn,fxn,x0] = esercizio4(f,df,df2,a,b,varargin) % function [xn,fxn,x0] = esercizio4(f,df,df2,varargin) %. %. %. %. switch nargin case 5 M = 5; nmax = 1000; case 6 M = varargin{1}; nmax = 1000; case 7 M = varargin{1}; nmax = varargin{2}; otherwise error('controllare il numero delle variabili di input!!!')

58 if (M~=round(abs(M))) error('m deve essere intero positivo!!!') if (nmax~=round(abs(nmax))) nmax>1000 error('nmax deve essere intero positivo e non superiore a 1000!!!') if a>=b error('a deve essere strettamente minore di b!!!') x = a:.2:b; y=f(x); pos = find(abs(diff(sign(y)))); if length(pos)~=1 error('la radice non e'' unica') else a1 = x(pos); b1 = x(pos+1);

59 if f(a1)*df2(a1)>0 x0 = a1; elseif f(b1)*df2(b1)>0 x0 = b1; else if sum(sign([a1 b1]))<=0 error('non e'' possibile fissare la condizione iniziale') elseif a1>0 x0 = a1; else x0 = b1; eps = 0.5*10^(-M); err = eps+1;, iter = 0; while (err>eps) & (iter<nmax) xn = x0-f(x0)/df(x0); iter = iter + 1; err = abs(xn-x0); x0=xn; fxn = f(xn);

60 function [c] = esercizio(y,z,m) %... %... %... C = zeros(m);, v = zeros(m,1);, s = zeros(2*m-1,1); for i = 1:length(y) temp = z(i); for j = 1:m v(j) = v(j) + temp;, temp = temp*y(i); temp = 1; for j = 1:2*m-1 s(j) = s(j) + temp;, temp = temp*y(i); for i = 1:m for j = 1:m C(i,j) = s(i+j-1); c = C\v; Esercizio 5 Scrivere lo help della funzione descrivo anche tutte le variabili di input e di output. Commentare le istruzioni.

61 Esercizio 6 Scrivere lo help della seguente funzione; commentare e completare le istruzioni. function [V,M] = fun_esame(t,g) %... %... %... %... %... J = length(g); D = (t()-...); if... V = (g(1)+2*sum(g(2:2:j-1))+2*sum(g(2:j-1))+g())*d/3; M = 0; else V = D*sum(g) - 0.5*D*(g(1)+...); M = 1;

62 function [In,Nn,E] = my_fun(x1,x2,fun,varargin) %... %... %... if nargin<3 error('input non sufficienti') elseif... tl=0.5*10^-5; elseif nargin == 4 tl =... else error('troppe variabili di input') D = (x2-x1)/2;, I0 =D/3*(fun(x1)+4*fun(x1+D)+fun(x2));, E = tl+1; while E >= tl D = D/2; Nn =... xn = linspace(x1,x2,nn);, fn = fun(xn); In = D/3*(fn(1)+4*sum(fn(2:2:Nn-1))+2*sum(fn(3:2:Nn-2))+fn(Nn)); E = abs(in-i0)/15; I0 =... Esercizio 7 Completare e commentare le istruzioni della funzione e scriverne lo help

63 con 6 decimali esatti e salvare gli output nel file risultaties8.mat. Esercizio 8 Scrivere la funzione Matlab esercizio8.m che riceva in input tre numeri a, b, eps e la funzione f; se eps non viene data in input, assegni il valore approssimi l'integrale con la formula di Cavalieri- Simpson; approssimi I(f) con la formula delle parabole generalizzata dimezzando ogni volta il passo h e arrestandosi quando il modulo del resto Rh(f) diventa minore di eps; restituisca in output l' approssimazione finale dell' integrale, il numero totale di nodi utilizzati per calcolarla e la stima di Rh(f) ottenuta tramite il criterio di Runge. Utilizzare la funzione realizzata per approssimare

64 Esercizio 9

65 function [F,varargout] = fun_bruni(t,m,varargin) % [F] = fun_bruni(t,m); % descrizione % % INPUT % inserire descrizione delle variabili di input. % % OUTPUT % inserire descrizione delle variabili di output. switch nargin case 2 x=0; m=5; case 3 x=varargin{1}; m=5; if x<-1 x>1 error('x deve appartenere all''intervallo [-1,1]')

66 case 4 x=varargin{1}; m=varargin{2}; if (x<-1 x>1) length(x)>1 error('x deve essere uno scalare e appartenere all''intervallo [-1,1]') if m<=0 m~=round(m) error('m deve essere un intero positivo') otherwise error('controllare il numero delle variabili di input') if M<=0 M~=round(M) error('m deve essere un intero positivo')

67 eps = 0.5*10^(-m); g = (1-t*x)/(1-2*x*t+t^2); F=[]; T(1) = 1; f(1) = T(1); if abs(f(1)-g) < eps F = [F f(1)]; T(2) = x; f(2) = sum(t.*t.^(0:1)); if (abs(f(2)-g) < eps) & (length(f)<m) F = [F f(2)]; n=3; while (length(f)<m) & n<100 T(n) = 2*x*T(n-1)-T(n-2); f(n) = sum(t.*t.^(0:n-1)); if (abs(f(n)-g) < eps) F = [F f(n)] n=n+1;

68 ind = find(t>=0); ind2 = find(t<0); figure title('grafico esercizio') subplot(1,2,1), plot(f,'r--') ylabel('vettore F') subplot(1,2,2), plot(ind-1, T(ind),'k*',ind2-1,T(ind2),'ro') xlabel('n') ylabel('tn') if nargout ==2 V=ind-1; varargout{1}=v;

69 usando 21 nodi. Esercizio 10 Scrivere la funzione Matlab odelimiti_nl.m che riceva in input cinue numeri a, b, alfa, beta, eps, due numeri interi positivi N, maxiter e tre funzioni f, dfy, dfz; se eps non viene data in input, assegni il valore , se maxiter non viene data in input, assegni il valore 20 risolva il seguente problema ai limiti usando uno schema alle differenze finite usando N+2 nodi. Per la soluzione del sistema non lineare si usi il metodi di Newton eseguo non più di maxiter iterazione e arrestando le iterazioni quando l errore massimo tra due approssimazioni successive diventa inferiore a eps restituisca in output il vettore Y contenente la approssimazione della soluzione in corrispondenza dei nodi usati. Se richiesto, restituisca in output il vettore X dei nodi e l errore commesso all ultima iterazione del metodo di Newton. Utilizzare la funzione realizzata per risolvere il seguente problema differenziale

70 % Script per la soluzione di uno specifico problema differenziale % salvato con il nome esercizio_odelimiti_nl a=1; b=3; alfa=17; beta = 43/3; N=19; [Y,X,errore] = odelimiti_nl(a,b,alfa,beta,n,@fun_esercizio,@dfy_esercizio,@dfz_esercizio,10^(-8)); fprintf(' X \t Y \t Errore\n') fprintf('%7.6f \t %15.12f \t %+13.12f \n',[x;y;errore] ) figure, plot(x,y,'r*') xlabel('x') ylabel('y') title('soluzione') Funzione che implementa la soluzione di un problema differenziale ai limiti non lineare Funzioni relative allo specifico problema differenziale da risolvere, rispettivamente f, f y, f y Vanno definite e salvate in tre file.m distinti

71 % funzione f dello specifico problema differenziale % salvato con il nome fun_esercizio.m function [F] = fun_esercizio(x,y,z) %funzione dello specifico problema differenziale F = 1/8*(32+2*X.^3-Y.*Z);

72 % funzione f y dello specifico problema differenziale % salvato con il nome dfy_esercizio.m function [DFY] = dfy_esercizio(x,y,z) %funzione dello specifico problema differenziale DFY = 1/8*(-Z);

73 % funzione f y dello specifico problema differenziale % salvato con il nome dfz_esercizio.m function [DFZ] = dfz_esercizio(x,y,z) %funzione dello specifico problema differenziale DFZ = 1/8*(-Y);

74 function [Y,varargout] = odelimiti_nl(a,b,alfa,beta,n,f,dfy,dfz,varargin) %[Y] = odelimiti_nl(a,b,alfa,beta,n,f,dfy,dfz) % INPUT % inserire descrizione delle variabili di input %... %... % % OUTPUT % inserire descrizione delle variabili di output %... %... if nargin==8 eps=0.5*10^(-8); max_iter=20; elseif nargin==9 eps=varargin{1}; max_iter=20; elseif nargin==10 eps=varargin{1}; max_iter=varargin{2}; else error('controllare il numero delle variabili di input')

75 h=(b-a)/(n+1); X=a+(0:N+1)*h; % inserire eventuali controlli su eps e maxiter... Y=alfa+(0:N+1)*(beta-alfa)/(b-a)*h; iter=0; Err=eps+1; while (Err>eps) & (iter < max_iter) der_vet = (Y(3:N+2)-Y(1:N))/(2*h); diagj=diag(2+h^2*dfy(x(2:n+1),y(2:n+1),der_vet)); diagsupj=diag(-1+h/2*dfz(x(2:n),y(2:n),der_vet(1:n-1)),1); diaginfj=diag(-1-h/2*dfz(x(3:n+1),y(3:n+1),der_vet(2:n)),-1); J = diagj+diagsupj+diaginfj; der_vet2 = diff(y,2); B = -h^2*f(x(2:n+1),y(2:n+1),der_vet)+der_vet2; V=J\(B'); V=[0 V' 0]; Y1 = Y+V; vett_err = Y1-Y; Err = norm(vett_err,inf); Y=Y1; iter = iter + 1;

76 if iter==max_iter & Err>eps disp('non e'' stata raggiunta la precisione richiesta') if nargout == 2 varargout{1} = X; elseif nargout == 3 varargout{1}=x; varargout{2} = vett_err; elseif nargout >3 error('troppi output')

77 Esercizio 11 Si consideri la seguente funzioni di due variabili Scrivere la funzione Matlab fun_cognome.m che riceva in input un intero strettamente positivo N non superiore a 100, un numero reale x e una funzione f (anonymous function) dipente da x. Se f non viene data in input, ponga f(x) = 1 + x. La funzione valuti F in corrispondenza della coppia di valori (x; f(x)) per ogni numero naturale n : 0 n N; n = 3h; h N. La funzione restituisca in output la matrice P così definita: i) la prima riga contiene i valori di n che hanno prodotto valori di F positivi; ii) la seconda riga contiene i corrispondenti valori positivi di F; iii) la terza riga contiene i valori di n che hanno prodotto valori di F negativi; iv) la quarta riga contiene i corrispondenti valori negativi di F. La funzione grafichi, e restituisca in output se richiesto, il vettore A contenente al piu (N+1)/3 elementi della successione a k usando un pallino rosso per gli elementi di indice pari e un asterisco blu per quelli dispari. Il grafico deve essere completo di titolo, etichette per gli assi e lega. Oss: La funzione F(x,y) dipe anche dall indice naturale n I coefficienti a k dipono anche dall indice naturale n Per il vettore A, poiché non specificato, si considera l ultima sequenza calcolata

78 function [P, varargout] = esercizio4_gennaio2014(n, x, varargin) % [P, varargout] = esercizio4_gennaio2014(n, x, varargin) % La funzione esercizio4_gennaio valuta la funzione F(x,y) che è la somma di n+1 termini il cui (k+1)-simo addo è % a(k) = (n-k+1)/k a(k-1) se k>=1, e a(0) = 1 se k=0. La funzione % calcola F(x,y) per tutti i valori di 0<=n<=N e multipli di 3 e con % y=f(x). % controllo sul numero degli input if nargin == 2 f elseif nargin == 3 f = varargin{1}; else error('numero di input non corretto') % INPUT % N = intero positivo <=100 % x = ascissa del punto in cui valutare la funzione % f = funzione che definisce l'ordinata del punto in cui valutare la % funzione come y=f(x). Se f non viene data in input, f=1+x % % OUTPUT % inserire descrizione degli output

79 % controllo input if N <= 0 N > 100 N ~= round(n) error('n deve essere un intero strettamente positivo non superiore a 100') % successione y = f(x); for n=0:3:n a(1) = 1; F(n/3+1)=a(1)*y^n; for k=2:n+1 a(k) = (n-k+2)/(k-1)*a(k-1); F(n/3+1) = F(n/3+1) + a(k)*x^(k-1)*y^(n-k+1); pos = find(f>=0); neg = find(f<0); P = zeros(4,max(length(pos), length(neg))); P(1,1:length(pos)) = (pos-1)*3; P(2,1:length(pos)) = F(pos); P(3,1:length(neg)) = (neg-1)*3; P(4,1:length(neg)) = F(neg);

80 A = a(1:round((n+1)/3)); figure, hold on plot(1:2:length(a), A(1:2:length(A)), '*b') plot(2:2:length(a), A(2:2:length(A)), '*r') if nargout==2 varargout{1} = A;

81 Esercizio 12

82 Esercizio 12 function [K, S, D, V, varargout] = esercizio5_gennaio2014(a, b, varargin) %INSERIRE HELP % controllo sugli input if nargin < 2 nargin > 3 error('il numero degli input non e'' corretto') elseif nargin == 2 C = {'J', 'GS', 'SOR', 'MEG', 'Th'}; elseif nargin == 3 C = varargin{1}; % controllo sulle dim di A [m,n] = size(a); if m ~= n error('a deve essere quadrata') else if m < 3 error('la dim di A deve essere non inferiore a 3x3')

83 K = false; S = false; D = false; if cond(a) < 7 K = true; % S vale 1 se il numero degli elementi nulli di A è superiore alla metà dei % suoi elementi n_zeri = length(find(a==0)); if n_zeri > (n^2)/2 S = true; % D vale 1 se esiste una permutazione di righe per cui la matrice del % sistema diventa diagonale [r, c] = find(a~=0); if length(r) <= n if (length(unique(c)) == length(unique(r))) D = true; if nargout == 5 [temp p] = sort(r); varargout{1} = p;

84 fprintf('%s \n', 'quali metodi possono essere usati per risolvere Ax=b?') riga1 = zeros(1,length(c)); riga2 = zeros(1, length(c)); eps = 10^(-8); MD = diag(diag(a));, L = tril(a,-1);, U = triu(a,1); for i=1:length(c) switch C{i} case {'J'} Minv = inv(md);, CJ = -Minv*(L + U); rho = max(abs(eig(cj))); if rho < 1 fprintf('%s \n', 'il metodo di Jacobi converge'); riga1(i) = 1; QJ = Minv*b; iter = 0;, X0 = ones(n,1);, err = 100; while err > eps X = CJ*X0 + QJ; err = norm(x-x0, inf); X0 = X; iter = iter + 1; riga2(i) = iter;

85 case {'GS'} Minv = inv(tril(a)); CGS = -Minv*(triu(A,1)); rho = max(abs(eig(cgs))); if rho < 1 fprintf('%s \n', 'il metodo di Gauss Seidel converge'); riga1(i) = 1; QGS = Minv*b; iter = 0; X0 = ones(n,1); err = 100; while err > eps X = CGS*X0 + QGS; err = norm(x-x0, inf); X0 = X; iter = iter + 1; riga2(i) = iter;

86 case {'SOR'} T = (A == A'); if all(t(:)) && all(eig(a)) fprintf('%s \n', 'il metodo di SOR converge'); riga1(i) = 1; omega = 0.5; Minv = inv(l + MD/omega); C_sor = -Minv*(U-(1-omega)*MD/omega); Q_sor = Minv*b; iter = 0; X0 = ones(n,1); err = 100; while err > eps X = C_sor*X0 + Q_sor; err = norm(x-x0, inf); X0 = X; iter = iter + 1; riga2(i) = iter;

87 case {'MEG'} if det(a) ~= 0 fprintf('%s \n', 'e'' possibile usare il metodo di eliminazione di Gauss'); riga1(i) = 1; riga2(i) = n^2/2 + n^3/3; case {'Th'} B = triu(a,-1) - triu(a,2); T = (B == A); if det(a) ~= 0 && all(t(:)) fprintf('%s \n', 'e'' possibile usare l'' algoritmo di Thomas'); riga1(i) = 1; riga2(i) = 5*n-4; otherwise error('c contiene metodi sconosciuti') %% costruisco la matrice V V(1,:) = riga1; V(2,:) = riga2;

88 Esercizio 13

89 function [S] = es1_pp2015(x,varargin) %SOLUZIONE ES 1 PROVA PRELIMINARE 18 DICEMBRE 2015 %... %..._ if (M~=round(M)) M<0 error('m deve essere intero positivo') if (N~=round(N)) N<0 N>100 error('n deve essere intero positivo non superiore a 100') switch nargin case 1 N = 100; M = 5; case 2 N = varargin{1}; M = 5; case 3 N = varargin{1}; M = varargin{2}; otherwise error('controllare input')

90 eps = 0.5*10^(-M); F = exp(x^2); S=[]; ind = []; H(1)= 1; G(1)= H(1); if abs(g(1)-f) <= eps S = [S [G(1); 1]]; m=1; while ((size(s,2)<n) && (m<=100)) if m==1 H(2) = 2*x; else H(m+1) = 2*x*H(m)-2*m*H(m-1); G(m+1) = G(m) + x^m/factorial(m)*h(m+1); if abs(g(m+1)-f) <= eps S = [S [G(m+1); m]]; else ind = [ind m]; m = m+1; Numero massimo di iterazioni consentite --- stabilito in fase di programmazione

91 figure plot(ind,g(ind+1),'ro') hold on, if ~isempty(s) plot(s(2,:),s(1,:),'go') xlabel('m') ylabel('gm') title('successione') leg('elementi di G non in S','elementi di G in S')

92 Esercizio 14

93 function [A,P,varargout] = es2_pp2015(a,varargin) %SOLUZIONE ES 2 PROVA PRELIMINARE 18 DICEMBRE 2015 %... %..._ if nargin==0 error('pochi input') elseif nargin == 1 if (length(size(a))==2) & size(a,1)>1 & size(a,2)>1 B = zeros(size(a,2),1); else error('controllare la dimensione di A') elseif nargin == 2 if (length(size(a))~=2) size(a,1)==1 size(a,2)==1 error('controllare la dimensione di A') B = varargin{1}; B = B(:); if length(b)~=size(a,1) error('controllare la dimensione di B') else error('troppi input')

94 [nr,nc] = size(a); if nr ~= nc error('a deve essere quadrata') if det(a) == 0 error('la matrice e'' singolare') if all(tril(a)==a) P=1:nr; else for i=1:nr ind = find(a(i,:)~=0); P(i) = ind();

95 if length(unique(p))~=nr P = []; A = []; x = []; disp('non esiste permutazione che re A triangolare inferiore') else A(P,:) = A; X(1) = B(1)/A(1,1); for i=2:nr X(i) = (B(i)-sum(A(i,1:i-1).*X(1:i-1)))/(A(i,i)); X=X(:); if nargout==3 varargout{1}=x; elseif nargout<=1 error('pochi output') elseif nargout >3 error('troppi output')

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1 Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria R. Vitolo Dipartimento di Matematica Università di Lecce SaLUG! - Salento Linux User Group Il programma OCTAVE per l

Dettagli

Documentazione esterna al software matematico sviluppato con MatLab

Documentazione esterna al software matematico sviluppato con MatLab Documentazione esterna al software matematico sviluppato con MatLab Algoritmi Metodo di Gauss-Seidel con sovrarilassamento Metodo delle Secanti Metodo di Newton Studente Amelio Francesco 556/00699 Anno

Dettagli

CALCOLO NUMERICO (C.L. Ing. delle Comunicazioni - AA 2013-14) Proff. F. Pitolli, A. Pascarella Progetti

CALCOLO NUMERICO (C.L. Ing. delle Comunicazioni - AA 2013-14) Proff. F. Pitolli, A. Pascarella Progetti CALCOLO NUMERICO (C.L. Ing. delle Comunicazioni - AA 2013-14) Proff. F. Pitolli, A. Pascarella Progetti 1. Il procedimento iterativo P (k+1) i = j Z a i 2 j P (k) j, k = 0, 1,... dove {P (k) i, i Z} è

Dettagli

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Corso di Laurea in Ingegneria Informatica Analisi Numerica Corso di Laurea in Ingegneria Informatica Lucio Demeio Dipartimento di Scienze Matematiche 1 2 Analisi degli errori Informazioni generali Libro di testo: J. D. Faires, R. Burden, Numerical Analysis, Brooks/Cole,

Dettagli

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

Dettagli

Finestre grafiche. >> figure >> figure(n)

Finestre grafiche. >> figure >> figure(n) Finestre grafiche MATLAB ha anche la possibilità di lavorare con delle finestre grafiche sulle quali si possono fare disegni bidimensionali o tridimensionali. Una finestra grafica viene aperta con il comando

Dettagli

Laboratorio 2. Calcolo simbolico, successioni, limiti e derivate

Laboratorio 2. Calcolo simbolico, successioni, limiti e derivate Anno Accademico 2007-2008 Corso di Analisi 1 per Ingegneria Informatica Laboratorio 2 Calcolo simbolico, successioni, limiti e derivate 1 Introduzione al Toolbox simbolico Con le routines del Symbolic

Dettagli

Equazione di Keplero (eqz. nonlineari).

Equazione di Keplero (eqz. nonlineari). Equazione di Keplero (eqz. nonlineari). Risolvere col metodo di Newton, col metodo di bisezione e di punto fisso l equazione di Keplero: E = M + e sin(e) dove e è l eccentricità del pianeta, M l anomalia

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Esercitazione del 22/01/2013 Esercizio 1 Un sistema dispone di 16 pagine di memoria fisica e 64 di memoria virtuale. Sapo che l indirizzo

Dettagli

Interpolazione ed approssimazione di funzioni

Interpolazione ed approssimazione di funzioni Interpolazione ed approssimazione di funzioni Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 9 novembre 2007 Outline 1 Polinomi Valutazione di un polinomio Algoritmo di Horner

Dettagli

Generazione di Numeri Casuali- Parte 2

Generazione di Numeri Casuali- Parte 2 Esercitazione con generatori di numeri casuali Seconda parte Sommario Trasformazioni di Variabili Aleatorie Trasformazione non lineare: numeri casuali di tipo Lognormale Trasformazioni affini Numeri casuali

Dettagli

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò Corso di Visione Artificiale Matlab per Visione Samuel Rota Bulò Cos'è Matlab? MATLAB MATLAB - - MATrix MATrix LABoratory LABoratory Ambiente Ambiente di di sviluppo sviluppo ed ed esecuzione esecuzione

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Comandi di Input/Output in Matlab

Comandi di Input/Output in Matlab Comandi di Input/Output in Matlab Il comando format controlla la configurazione numerica dei valori esposta da MAT- LAB; il comando regola solamente come i numeri sono visualizzati o stampati, non come

Dettagli

Grafici tridimensionali

Grafici tridimensionali MatLab Lezione 3 Grafici tridimensionali Creazione di un Grafico 3D (1/4) Si supponga di voler tracciare il grafico della funzione nell intervallo x = [0,5]; y=[0,5] z = e -(x+y)/2 sin(3x) sin(3y) Si può

Dettagli

Analisi dei segnali nel dominio della frequenza

Analisi dei segnali nel dominio della frequenza Laboratorio di Telecomunicazioni - a.a. 2010/2011 Lezione n. 7 Analisi dei segnali nel dominio della frequenza docente L.Verdoliva In questa lezione affrontiamo il problema dell analisi dei segnali tempo

Dettagli

MATLAB:Condizionamento Sistemi Lineari.

MATLAB:Condizionamento Sistemi Lineari. 1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB:Condizionamento Sistemi Lineari. Innanzitutto vediamo qual è la funzione Matlab che ci permette di calcolare il

Dettagli

Matlab: Funzioni. Informatica B. Daniele Loiacono

Matlab: Funzioni. Informatica B. Daniele Loiacono Matlab: Funzioni Informatica B Funzioni A cosa servono le funzioni? 3 x = input('inserisci x: '); fx=1 for i=1:x fx = fx*x if (fx>220) y = input('inserisci y: '); fy=1 for i=1:y fy = fy*y A cosa servono

Dettagli

RETI DI TELECOMUNICAZIONE

RETI DI TELECOMUNICAZIONE RETI DI TELECOMUNICAZIONE NOZIONI ELEMENTARI DI MATLAB Cos è MATLAB Il nome MATLAB sta per MATrix LABoratory E un linguaggio ad alta prestazione per l elaborazione tecnica E un sistema interattivo il cui

Dettagli

MATLAB (1) Introduzione e Operazioni con array

MATLAB (1) Introduzione e Operazioni con array Laboratorio di Informatica per Ingegneria elettrica A.A. 2010/2011 Prof. Sergio Scippacercola MATLAB (1) Introduzione e Operazioni con array N.B. le slide devono essere utilizzate solo come riferimento

Dettagli

Equazioni non lineari

Equazioni non lineari Equazioni non lineari Data una funzione f : [a, b] R si cerca α [a, b] tale che f (α) = 0. I metodi numerici per la risoluzione di questo problema sono metodi iterativi. Teorema Data una funzione continua

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il

Dettagli

Integrazione numerica

Integrazione numerica Integrazione numerica Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 6-20-26 ottobre 2009 Indice 1 Formule di quadratura semplici e composite Formule di quadratura

Dettagli

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica. Esempio Risultati sperimentali Approssimazione con il criterio dei minimi quadrati Esempio Interpolazione con spline cubica. Esempio 1 Come procedere? La natura del fenomeno suggerisce che una buona approssimazione

Dettagli

NUMERI COMPLESSI. Test di autovalutazione

NUMERI COMPLESSI. Test di autovalutazione NUMERI COMPLESSI Test di autovalutazione 1. Se due numeri complessi z 1 e z 2 sono rappresentati nel piano di Gauss da due punti simmetrici rispetto all origine: (a) sono le radici quadrate di uno stesso

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

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

Corso Matlab : Terza lezione (Esercitazione, 04/10/13) Samuela Persia, Ing. PhD. Advanced level Corso Matlab : Terza lezione (Esercitazione, 04/10/13) Samuela Persia, Ing. PhD. Sommario Richiami Teoria Cenni Files Matlab File.m Script file File.mat Grafici Acquisizione dati esterni

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI e AZIONAMENTI ELETTRICI INTRODUZIONE A MATLAB Ing. Alberto Bellini Tel. 0522 522626 e-mail: alberto.bellini@unimore.it

Dettagli

Indice Elementi di analisi delle matrici I fondamenti della matematica numerica

Indice Elementi di analisi delle matrici I fondamenti della matematica numerica Indice 1. Elementi di analisi delle matrici 1 1.1 Spazivettoriali... 1 1.2 Matrici... 3 1.3 Operazionisumatrici... 4 1.3.1 Inversadiunamatrice... 6 1.3.2 Matricietrasformazionilineari... 7 1.4 Tracciaedeterminante...

Dettagli

Esercitazione 10. 21 Dicembre 2010 (2 ore)

Esercitazione 10. 21 Dicembre 2010 (2 ore) Esercitazione 10 21 Dicembre 2010 (2 ore) Riassunto Nell'esecitazione di oggi abbiamo lavorato ancora sulle funzioni. Abbiamo inoltre introdotto alcune delle seguenti funzioni per tracciare i grafici.

Dettagli

Matlab: Strutture di Controllo. Informatica B

Matlab: Strutture di Controllo. Informatica B Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Scilab: I Polinomi - Input/Output - I file Script

Scilab: I Polinomi - Input/Output - I file Script Scilab: I Polinomi - Input/Output - I file Script Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Polinomi: Definizione... Un polinomio è un oggetto nativo in Scilab Si crea,

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

Introduzione al MATLAB c Parte 1

Introduzione al MATLAB c Parte 1 Introduzione al MATLAB c Parte 1 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 1-2 maggio 2007 Outline 1 Cos è il MATLAB Componenti principali di MATLAB 2 Avvio Avviare

Dettagli

Condizionamento di sistemi lineari.

Condizionamento di sistemi lineari. Condizionamento di sistemi lineari. Ángeles Martínez Calomardo e Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica Pura e Applicata 10 dicembre 2012 Ángeles Martínez Calomardo

Dettagli

Approssimazione polinomiale di funzioni e dati

Approssimazione polinomiale di funzioni e dati Approssimazione polinomiale di funzioni e dati Approssimare una funzione f significa trovare una funzione f di forma più semplice che possa essere usata al posto di f. Questa strategia è utilizzata nell

Dettagli

Laboratorio Algoritmi 2014 Secondo Semestre

Laboratorio Algoritmi 2014 Secondo Semestre Laboratorio Algoritmi 2014 Secondo Semestre Lunedì 14:30 17:30 Aula 2. Ricevimento: inviare e-mail a frasca@di.unimi.it. 44 ore (9 CFU) Linguaggio di programmazione: MATLAB Esame : progetto e/o prova scritta

Dettagli

Introduzione allo Scilab Parte 3: funzioni; vettori.

Introduzione allo Scilab Parte 3: funzioni; vettori. Introduzione allo Scilab Parte 3: funzioni; vettori. Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro felix@dm.uniba.it 13 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Manuale Istruzione compilazione C1 per operatore economico

Manuale Istruzione compilazione C1 per operatore economico Informationssystem für Öffentliche Verträge Manuale Istruzione compilazione C1 per operatore economico Vers. 2016-05 IT AUTONOME PROVINZ BOZEN - SÜDTIROL PROVINCIA AUTONOMA DI BOLZANO - ALTO ADIGE PROVINZIA

Dettagli

Condizionamento del problema

Condizionamento del problema Condizionamento del problema x 1 + 2x 2 = 3.499x 1 + 1.001x 2 = 1.5 La soluzione esatta è x = (1, 1) T. Perturbando la matrice dei coefficienti o il termine noto: x 1 + 2x 2 = 3.5x 1 + 1.002x 2 = 1.5 x

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

SISTEMI LINEARI QUADRATI: METODI ITERATIVI

SISTEMI LINEARI QUADRATI: METODI ITERATIVI SISTEMI LINEARI QUADRATI: METODI ITERATIVI CALCOLO NUMERICO e PROGRAMMAZIONE SISTEMI LINEARI QUADRATI:METODI ITERATIVI p./54 RICHIAMI di ALGEBRA LINEARE DEFINIZIONI A R n n simmetrica se A = A T ; A C

Dettagli

Il foglio elettronico

Il foglio elettronico Il foglio elettronico Microsoft 1 Rappresentazione di funzioni Ciò che viene riportato è il contenuto delle celle. non esegue la rappresentazione di funzioni note in forma esplicita come fanno alcuni programmi

Dettagli

Equazioni non lineari

Equazioni non lineari CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRICA Equazioni non lineari Metodi iterativi per l approssimazione di radici Corso di calcolo numerico 2 01/11/2010 Manuela Carta INDICE Introduzione Metodo

Dettagli

Advanced level. Corso Matlab : Samuela Persia, Ing. PhD.

Advanced level. Corso Matlab : Samuela Persia, Ing. PhD. Advanced level Corso Matlab : Seconda lezione (Esercitazione, 27/09/13) Samuela Persia, Ing. PhD. Sommario Presentazione Programma delle Esercitazioni Ogni Esercitazione prevede: Richiami Teoria e Sintassi

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 3

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 3 Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Matlab/Octave - Esercitazione 3 funzioni definizione ed invocazione delle funzioni semantica dell invocazione

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab 1 Introduzione Matlab (MATrix LABoratory) è un software per il calcolo scientifico, particolarmente sviluppato per quanto riguarda la gestione ed elaborazione di vettori e matrici.

Dettagli

Dispense del corso di Laboratorio di Calcolo Numerico

Dispense del corso di Laboratorio di Calcolo Numerico Dispense del corso di Laboratorio di Calcolo Numerico Dott Marco Caliari aa 2008/09 Questi appunti non hanno alcuna pretesa di completezza Sono solo alcune note ed esercizi che affiancano il corso di Calcolo

Dettagli

Polinomio di secondo grado: Calcolo delle soluzioni di una equazione di secondo grado: import GraphicIO.*; public class Polinomio2 {

Polinomio di secondo grado: Calcolo delle soluzioni di una equazione di secondo grado: import GraphicIO.*; public class Polinomio2 { Polinomio di secondo grado: public class Polinomio2 GraphicConsole.println ("Inserisci i coefficienti interi del polinomio di secondo grado"); int a = GraphicConsole.readInt("a ="); int b = GraphicConsole.readInt("b

Dettagli

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come RICHIAMI SULLE MATRICI Una matrice di m righe e n colonne è rappresentata come A = a 11 a 12... a 1n a 21 a 22... a 2n............ a m1 a m2... a mn dove m ed n sono le dimensioni di A. La matrice A può

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dottssa MC De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Corso di Calcolo Numerico - Dottssa MC De Bonis

Dettagli

Selezione di un portafoglio di titoli in presenza di rischio. Testo

Selezione di un portafoglio di titoli in presenza di rischio. Testo Selezione di un portafoglio di titoli in presenza di rischio Testo E ormai pratica comune per gli operatori finanziari usare modelli e metodi basati sulla programmazione non lineare come guida nella gestione

Dettagli

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

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma Algoritmo: E un insieme finito di azioni che risolvono un determinato problema, trasformando i dati di input in di dati di output (o risultati) attraverso relazioni o formule che legano i dati in ingresso

Dettagli

Interpolazione di immagini

Interpolazione di immagini Interpolazione di immagini Data un immagine in formato png (o jpeg o altro) di m n pixel, la si vuole portare ad una dimensione maggiore (ad esempio 2m 2n pixel). c Paola Gervasio - Calcolo Scientifico

Dettagli

FONDAMENTI DI SEGNALI E TRASMISSIONE 6 Laboratorio

FONDAMENTI DI SEGNALI E TRASMISSIONE 6 Laboratorio FONDAMENTI DI SEGNALI E TRASMISSIONE 6 Laboratorio Paolo Mazzucchelli mazzucch@elet.polimi.it Quantizzazione Il segnale y(t) non solo è campionato sull asse dei tempi, ma anche i valori di ordinata sono

Dettagli

BOZZA Introduzione a MATLAB

BOZZA Introduzione a MATLAB BOZZA Introduzione a MATLAB BOZZA BOZZA Matlab sta per Matrix Laboratory ed è un ambiente interattivo e un linguaggio di calcolo tecnico di alto livello per lo sviluppo di algoritmi, la rappresentazione

Dettagli

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI

Dettagli

Pre Test 2008... Matematica

Pre Test 2008... Matematica Pre Test 2008... Matematica INSIEMI NUMERICI Gli insiemi numerici (di numeri) sono: numeri naturali N: insieme dei numeri interi e positivi {1; 2; 3; 4;...} numeri interi relativi Z: insieme dei numeri

Dettagli

Tutorial di Matlab. Davide Manca Calcoli di Processo dell Ingegneria Chimica Politecnico di Milano

Tutorial di Matlab. Davide Manca Calcoli di Processo dell Ingegneria Chimica Politecnico di Milano TM Tutorial di Matlab TM Avvio di Matlab TM 2 Avvio di Matlab Si noti che Matlab esegue i calcoli e memorizza le variabili (scalari, vettoriali o matriciali) in doppia precisione TM 3 Matrici Per lanciare

Dettagli

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676

Dettagli

Diario del corso di Analisi Matematica 1 (a.a. 2015/16)

Diario del corso di Analisi Matematica 1 (a.a. 2015/16) Diario del corso di Analisi Matematica (a.a. 205/6) 4 settembre 205 ( ora) Presentazione del corso. 6 settembre 205 (2 ore) Numeri naturali, interi, razionali, reali. 2 non è razionale. Introduzione alle

Dettagli

INTRODUZIONE A MATLAB Matrix Laboratory

INTRODUZIONE A MATLAB Matrix Laboratory INTRODUZIONE A MATLAB Matrix Laboratory Introduzione Linguaggio di programmazione per applicazioni scientifiche e numeriche Vasto set di funzioni predefininte Interprete di comandi Possibilità di scrivere

Dettagli

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione. Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e

Dettagli

MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ, DELLA RICERCA SCUOLE ITALIANE ALL ESTERO

MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ, DELLA RICERCA SCUOLE ITALIANE ALL ESTERO Sessione Ordinaria in America 4 MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ, DELLA RICERCA SCUOLE ITALIANE ALL ESTERO (Americhe) ESAMI DI STATO DI LICEO SCIENTIFICO Sessione Ordinaria 4 SECONDA PROVA SCRITTA

Dettagli

MATLAB - Introduzione Enrico Nobile. MATLAB - Introduzione. E. Nobile - DINMA - Sezione di Fisica Tecnica, Università di Trieste

MATLAB - Introduzione Enrico Nobile. MATLAB - Introduzione. E. Nobile - DINMA - Sezione di Fisica Tecnica, Università di Trieste Enrico Nobile I a Parte 1 MATLAB (MATrix LABoratory); Versione 5.2; Basato sul concetto - ampio - di Matrici; Calcolo numerico, visualizzazione etc. Facile utilizzo di librerie per il calcolo numerico

Dettagli

Esercitazioni di Calcolo Numerico 23-30/03/2009, Laboratorio 2

Esercitazioni di Calcolo Numerico 23-30/03/2009, Laboratorio 2 Esercitazioni di Calcolo Numerico 23-30/03/2009, Laboratorio 2 [1] Metodo di Bisezione gli estremi a e b di un intervallo reale trovi uno zero della funzione f(x) nell intervallo [a, b] usando il metodo

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

Esercitazioni in Maple

Esercitazioni in Maple Esercitazioni in Maple 6 giugno 2007 Capitolo 1 Prima esercitazione 1.1 Anelli di polinomi Per cominciare bisogna dichiarare un anello di polinomi. Possiamo lavorare con un qualsiasi anello di tipo dove

Dettagli

Richiami su norma di un vettore e distanza, intorni sferici in R n, insiemi aperti, chiusi, limitati e illimitati.

Richiami su norma di un vettore e distanza, intorni sferici in R n, insiemi aperti, chiusi, limitati e illimitati. PROGRAMMA di Fondamenti di Analisi Matematica 2 (DEFINITIVO) A.A. 2010-2011, Paola Mannucci, Canale 2 Ingegneria gestionale, meccanica e meccatronica, Vicenza Testo Consigliato: Analisi Matematica, M.

Dettagli

Corso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011

Corso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011 Corso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011 Foglio 4: Metodi diretti per i sistemi lineari Scrivere un programma

Dettagli

MAGNETIC RESONANCE IMAGING

MAGNETIC RESONANCE IMAGING MAGNETIC RESONANCE IMAGING L'MRI èuna tecnica di generazione di immagini usata prevalentemente per scopi diagnostici in campo medico, basata sul principio fisico della risonanza magnetica nucleare. Le

Dettagli

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

Dettagli

sezioni incluso Espandi tutto 0. Elementi di matematica elementare (parzialmente incluso) Sezione 0.1: I numeri reali Sezione 0.2: Regole algebriche.

sezioni incluso Espandi tutto 0. Elementi di matematica elementare (parzialmente incluso) Sezione 0.1: I numeri reali Sezione 0.2: Regole algebriche. sezioni incluso Espandi tutto 0. Elementi di matematica elementare (parzialmente incluso) Sezione 0.1: I numeri reali Sezione 0.2: Regole algebriche. Potenze e percentuali Sezione 0.3: Disuguaglianze Sezione

Dettagli

Metodi Numerici per Equazioni Ellittiche

Metodi Numerici per Equazioni Ellittiche Metodi Numerici per Equazioni Ellittiche Vediamo ora di descrivere una tecnica per la risoluzione numerica della più semplice equazione ellittica lineare, l Equazione di Laplace: u xx + u yy = 0, (x, y)

Dettagli

Lezioni su MATLAB. Ingegneria Civile/Meccanica

Lezioni su MATLAB. Ingegneria Civile/Meccanica Lezioni su ali in Ingegneria Civile/Meccanica Corso di laboratorio di informatica 06/07 Sommario ali in 1 2 3 4 ali 5 6 in ali in : MATrix LABoratory È un ambiente per l analisi e la simulazione dei sistemi

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Script. Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 13 Agosto 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Script. Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 13 Agosto 2014 Script Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 13 Agosto 2014 1 Obiettivi Script 2 Script (m-file) Uno script è un file di testo contenente una sequenza di comandi MATLAB

Dettagli

Protocollo dei saperi imprescindibili Ordine di scuola: professionale

Protocollo dei saperi imprescindibili Ordine di scuola: professionale Protocollo dei saperi imprescindibili Ordine di scuola: professionale DISCIPLINA: MATEMATICA RESPONSABILE: CAGNESCHI F. IMPERATORE D. CLASSE: prima servizi commerciali Utilizzare le tecniche e le procedure

Dettagli

Istituto Professionale di Stato per l Industria e l Artigianato Giancarlo Vallauri. Classi I C I G

Istituto Professionale di Stato per l Industria e l Artigianato Giancarlo Vallauri. Classi I C I G Esercizi Estivi di Matematica a.s. 0/04 Istituto Professionale di Stato per l Industria e l Artigianato Giancarlo Vallauri Classi I C I G ALUNNO CLASSE Ulteriore ripasso e recupero anche nei siti www.vallauricarpi.it

Dettagli

LEZIONE ICO 12-10-2009

LEZIONE ICO 12-10-2009 LEZIONE ICO 12-10-2009 Argomento: introduzione alla piattaforma Matlab. Risoluzione numerica di problemi di minimo liberi e vincolati. Lucia Marucci marucci@tigem.it http://www.mathworks.com/access/helpdesk/help/toolbo

Dettagli

TEMA 1. 1. Della seguente matrice, calcolare i complementi algebrici e il determinante: a + b 1 a 2 S = a + b + 3 a + 2b. x = t. f = x 2 + 2xy 3y 2,

TEMA 1. 1. Della seguente matrice, calcolare i complementi algebrici e il determinante: a + b 1 a 2 S = a + b + 3 a + 2b. x = t. f = x 2 + 2xy 3y 2, Prova scritta di MATEMATICA B1 Vicenza, 17 marzo 008 TEMA 1 1 1 A = 1 0 1. 3 0 1. Stabilire se il seguente sottoinsieme di M(, R): {( ) a + b 1 a S = a, b R}, a + b + 3 a + b è un sottospazio di M(, R).

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:...

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:... Ministero della Pubblica Istruzione Rilevazione degli apprendimenti Anno Scolastico 2006 2007 PROVA DI MATEMATICA Scuola Secondaria di II grado Classe Terza Tipo A Codici Scuola:..... Classe:.. Studente:.

Dettagli

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente E-mail: irene.tagliente@opbg.net

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente E-mail: irene.tagliente@opbg.net LEZIONE DI MATLAB 2.0 Ing.Irene Tagliente E-mail: irene.tagliente@opbg.net Cos è Matlab Il programma MATLAB si è imposto in ambiente ingegneristico come strumento per la simulazione e l'analisi dei sistemi

Dettagli

Introduzione agli ambienti

Introduzione agli ambienti Introduzione agli ambienti MATLAB c e Octave Utilizzo di Matlab/Octave ed operazioni fondamentali. Primi rudimenti di grafica. Paola Gervasio 1 MATLAB = MATrix LABoratory è un ambiente integrato per la

Dettagli

Esercitazione 4. Richiami di Teoria

Esercitazione 4. Richiami di Teoria Esercitazione 4 Richiami di Teoria B-spline Le curve costituite da un unico polinomio sono spesso poco adeguate per descrivere forme geometriche complesse. I principali inconvenienti sono i seguenti: ˆ

Dettagli

Matematica con il foglio di calcolo

Matematica con il foglio di calcolo Matematica con il foglio di calcolo Sottotitolo: Classe: V primaria Argomento: Numeri e operazioni Autore: Guido Gottardi, Alberto Battaini Introduzione: l uso del foglio di calcolo offre l opportunità

Dettagli

MATLAB-SIMULINK. Grafici 2D e 3D. Ing. Alessandro Pisano. pisano@diee.unica.it

MATLAB-SIMULINK. Grafici 2D e 3D. Ing. Alessandro Pisano. pisano@diee.unica.it 1 MATLAB-SIMULINK Grafici 2D e 3D Ing. Alessandro Pisano pisano@diee.unica.it 2 Indice 3 7 10 10 11 12 13 14 16 17 22 24 28 34 36 39 44 Grafici 2D Griglia, label e titolo Grafici sovrapposti. Colori Legenda

Dettagli

Metodi diretti per la soluzione di sistemi lineari

Metodi diretti per la soluzione di sistemi lineari Metodi diretti per la soluzione di sistemi lineari N Del Buono 1 Introduzione Consideriamo un sistema di n equazioni in n incognite a 11 x 1 + a 12 x 2 + a 13 x 3 + + a 1n x n = b 1, a 21 x 1 + a 22 x

Dettagli