Anteprima
Vedrai una selezione di 16 pagine su 71
Esercitazioni matlab Pag. 1 Esercitazioni matlab Pag. 2
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 6
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 11
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 16
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 21
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 26
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 31
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 36
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 41
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 46
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 51
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 56
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 61
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 66
Anteprima di 16 pagg. su 71.
Scarica il documento per vederlo tutto.
Esercitazioni matlab Pag. 71
1 su 71
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

LABORATORIO 6 CALCOLO%

per n = 5% f(xi) = yi

x = linspace(-5, 5, 6); %ho messo 6 perché ci sono n+1 nodi
wf = 1./(1 + w.^2);
y = subs(f, w, x)
format short e
y = [1/26, 1/10, 1/2, 1/2, 1/10, 1/26] %perché se no mi dava che era ancora simbolico
p = polyfit(x, y, 5)
x1 = -5:0.01:5;
y1 = polyval(p, x1);

per n = 10% f(xi) = yi

x = linspace(-5, 5, 11); %ho messo 11 perché ci sono n+1 nodi
wf = 1./(1 + w.^2);
y = subs(f, w, x);
y = [1/26, 1/17, 1/10, 1/5, 1/2, 1, 1/2, 1/5, 1/10, 1/17, 1/26];
p = polyfit(x, y, 10);
x2 = -5:0.01:5;
y2 = polyval(p, x2);

GRAFICI DI F E I DUE INTERPOLANTI

plot(x1, y1, 'k-', 'linewidth', 2)
hold on
fplot(f, 'm', 'linewidth', 2)
hold on
plot(x2, y2, 'k', 'linewidth', 2)
syms winterpolante_err_5 = subs(f, w, x1);
%poi devi farlo diventare double e non syms
err_5 = abs(y1 - interpolante_err_5)
plot(err_5, 'r', 'linewidth', 2)
syms
winterpolante_err_10 = subs(f, w, x2)%poi devi farlo diventare double e non syms
err_10 = abs(y2 - interpolante_err_10);
hold on
plot(err_10, 'b', 'linewidth', 2)

RI C HI ESTA 1

POLINOMIO LAGRANGE
sigma = [0 0.06 0.14 0.25 0.31 0.47 0.6 0.7];
epsilon = [0 0.08 0.14 0.20 0.23 0.25 0.28 0.29];
p = polyfit(sigma, epsilon, 7);
sigma1 = 0:0.01:0.7;
epsilon1 = polyval(p, sigma1);
plot(sigma1, epsilon1, 'k', 'linewidth', 2)
hold on
plot(sigma, epsilon, 'o', 'linewidth', 2)

COMPOSITA LINEARE
sigma2 = 0:0.01:0.7;
epsilon2 = interp1(sigma, epsilon, sigma2);
plot(sigma2, epsilon2, 'k', 'linewidth', 2)
hold on
plot(sigma, epsilon, 'o', 'linewidth', 2)

MINIMI QUADRATI
epsilonIMQ(1, :) = polyval(polyfit(sigma, epsilon, 1), sigma1);
epsilonIMQ(2, :) = polyval(polyfit(sigma, epsilon, 2), sigma1);
epsilonIMQ(3, :) = polyval(polyfit(sigma, epsilon, 4), sigma1);
plot(sigma1,
epsilonIMQ( 1 , : ) , 'k' , 'linewidth' ,2)
hold on
plot( sigma1, epsilonIMQ( 2 , : ) , 'm' , 'linewidth' ,2)
hold on
plot( sigma1, epsilonIMQ( 3 , : ) , 'g' , 'linewidth' ,2)
hold on
plot( sigma, epsilon , 'o' , 'linewidth' ,2)
legend('MQ 1', 'MQ 2' , 'MQ 4', 'dati')

RI C HI ESTA 2

figure ()
plot( sigma1 , epsilon1 , 'k' , 'linewidth' , 2);
hold on
plot( sigma2 , epsilon2 , 'm' , 'linewidth' ,2)
hold on
plot( sigma1, epsilonIMQ( 3 , : ) , 'g' , 'linewidth' ,2)
hold on
plot( sigma, epsilon , 'o' , 'linewidth' ,2)
legend('Lagrange', 'composita', 'minimi quadrati' , 'dati')

RI C HI ESTA 3

La_1 = polyval( p , 0.4)
La_2 = polyval( p , 0.75)
%La_1 = 2.5275e-01
%La_2 = 8.0963e-02

com_1= interp1(sigma, epsilon, 0.4)
com_2= interp1(sigma, epsilon, 0.75)
%com_1 = 2.4125e-01
%com_2 =
NaNIMQ_1 = polyval(polyfit( sigma , epsilon ,4 ) , 0.4 ) IMQ_2 = polyval(polyfit( sigma , epsilon ,4 ) , 0.75 ) %IMQ_1 = 2.4318e-01 %IMQ_2 = 2.9642e-01 I risultati confermano quanto detto in precedenza. In particolare l'interpolazione polinomiale di Lagrange sembrerebbe essere meno adeguata per rappresentare la legge tra sforzi e deformazioni, producendo un valore di sforzo troppo elevato. x =-2:6; y = x.*sin(x); plot(x,y) % n = 2 x = linspace ( -2 , 6 , 3); syms wf = w.*sin(w); y_1 = subs (f , w ,x) %y_1=[2*sin(2), 2*sin(2), 6*sin(6)] p = polyfit (x , y_1 , 2); x1 = -2 : 0.01 : 6; y1 = polyval( p , x1); % n = 4 x = linspace ( -2 , 6 , 5); syms wf = w.*sin(w); y_2 = subs (f , w ,x) %y_2 = [2*sin(2), 0, 2*sin(2), 4*sin(4), 6*sin(6)] p = polyfit (x , y_2 , 4); x2 = -2 : 0.01 : 6; y2 = polyval( p , x2); % n = 6 x = linspace ( -2 , 6 , 7); syms wf = w.*sin(w); y_3 = subs (f , w ,x) %y_3 = [2*sin(2), (2*sin(2/3))/3, (2*sin(2/3))/3, 2*sin(2),(10*sin(10/3))/3, (14*sin(14/3))/3, 6*sin(6)] p = polyfit (x , y_3 , 6); x3

x = -2:0.01:6;
y3 = polyval(p, x3);
x = -2:6;
y = x.*sin(x);
plot(x, y)
hold on
plot(x1, y1, 'm', 'linewidth', 2)
hold on
plot(x2, y2, 'g', 'linewidth', 2)
hold on
plot(x3, y3, 'r', 'linewidth', 2)
legend('dati', 'n = 2', 'n = 4', 'n = 6')
syms winter_err_2 = subs(f, w, x1) %lo metti in double
err_2 = abs(y1 - inter_err_2);
syms winter_err_4 = subs(f, w, x2) %lo metti in double
err_4 = abs(y2 - inter_err_4);
syms winter_err_6 = subs(f, w, x3) %lo metti in double
err_6 = abs(y3 - inter_err_6);
plot(err_2, 'k', 'linewidth', 2)
hold on
plot(err_4, 'm', 'linewidth', 2)
hold on
plot(err_6, 'g', 'linewidth', 2)
legend('n = 2', 'n = 4', 'n = 6')
norm(err_2, inf)
norm(err_4, inf)
norm(err_6, inf)
ans = 4.5425
ans = 2.0946
ans = 0.5724
%x nod è quello con linspace
%xdis è x1
% n = 5
% x = (a + b)

./ 2 + ( b -a )*c ./ 2n = 5;a = -5;b = 5;%for j = 0 : 5c = cos( - (pi * (0:n)) ./ n);%endx = ( a + b ) ./ 2 + ( b -a )*c ./ 2;syms wf = 1./ ( 1 + w.^2) ;y = subs(f , w , x);y = double(y);p = polyfit( x , y , 5);x1 = a : 0.01 : b ;y1 = polyval (p , x1);plot(x1 , y1 , 'k' , 'linewidth' , 2 )hold onfplot ( f , 'm' , 'linewidth' , 2)% n = 10n = 10;a = -5;b = 5;c = cos( - (pi * (0:n)) ./ n);x = ( a + b ) ./ 2 + ( b -a )*c ./ 2;syms wf = 1./ ( 1 + w.^2) ;y = subs(f , w , x);y = double(y);p = polyfit( x , y , 10);x2 = a : 0.01 : b ;y2 = polyval (p , x2);hold on %così aggiunge sul precedente graficoplot( x2 , y2 , 'g' , 'linewidth' , 2)legend( ' n = 5 ' , 'f' , ' n = 10 ' )ERRORIsyms win_er_5 = subs (f , w , x1);in_er_5 = double(in_er_5);er_5 = abs( y1 - in_er_5);syms win_er_10 = subs (f , w , x2);in_er_10 = double(in_er_10);er_10 = abs( y2 - in_er_10);plot( x1, er_5 , 'k',
<code>'linewidth' , 2)hold onplot( x2, er_10 , 'm', 'linewidth' , 2)legend ( ' n = 5 ' , ' n = 10 ')n = 2;x = linspace (-2*pi , 2*pi , 3);syms wf = sin (1./ (1 + w.^2));y = subs (f , w , x);y = double(y);p = polyfit(x , y , 2);x1 = -2*pi : 0.01 : 2* pi;y1 = polyval( p , x1); % questo è il polinomio interpolante%n = 10;x = linspace (-2*pi , 2*pi , 11);syms wf = sin (1./ (1 + w.^2));y = subs (f , w , x);y = double(y);p = polyfit(x , y , 10);x2 = -2*pi : 0.01 : 2* pi;y2 = polyval( p , x2);p = Columns 1 through 8-0.0000 -0.0000 0.0002 0.0000 -0.0061 -0.00000.0765 0.0000Columns 9 through 11-0.3999 -0.0000 0.8415(per i nodi plot(x , y, 'o'), per tracciare la funzione :x = linspace (-2*pi , 2*pi);f = sin (1./ (1 + x.^2)); )inter = subs ( f , w , x2) ;inter = double(inter);err= abs(inter-y2);plot ( x2,err)norm(err, inf)%ans = 1.8944n = 4;a = -2*pi;b = 2*pi;c = cos( - (pi * (0:n)) ./ n);x = ( a + b ) ./ 2 + ( b -a )*c ./ 2;syms wf =
sin(1./ ( 1 + w.^2)) ;y = subs(f , w , x);y = double(y);p = polyfit( x , y , 4);x1 = a : 0.01 : b ;y1 = polyval (p , x1);syms winter4 = subs ( f , w , x1);inter4 = double(inter4);err4 = abs(y1 - inter4);norm(err4, inf)% ans = 0.4248Con 8 l’errore max è 0.2007. con 10 è 0.1309x = linspace(-1 , 1);f = abs(x - pi/12);plot (x,f)n = 5;a = -1;b= 1;x = linspace(a , b , n+1);syms wf = abs(w - pi/12);y = subs(f , w ,x);y = double(y);p = polyfit (x , y ,n);x1 = a : 0.01 : b;y1 = polyval( p , x1);(nero è 5 , rosa 10 , verde 15)N = [2 : 25];a = -1;b = 1;ris = [];err = [];syms wf = abs(w - pi/12) ;figure()x1 = (a : 0.01 : b);for n = Nc = cos( - (pi * (0:n)) ./ n);x = ( a + b) ./ 2 + ( b -a )*c ./ 2;y = subs(f , w , x);y = double (y);p = polyfit( x , y , n);y1 = polyval(p , x1);inter = subs( f, w , x1);inter = double(inter);err = [err ; abs(y1 - inter)];ris = [ris ; norm(abs(y1 - inter), inf)];plot(x1,y1)hold onendloglog ( N , ris) %(io l’avevo fatto solo

così)M = 2.^[1:7];a = -1;b = 1;err = [];ris = [];syms wf = abs(w - pi/12) ;figure()x1 = a : 0.01 : b;ampiezza= [];for n = MH = (b - a)./n ;ampiezza = [ampiezza ; H];x2 = a : H : b ;y = subs(f , w ,x2);y = double(y);y1 = interp1(x2, y, x1); %(x1 sarebbe la seconda x che trovo%solitamente)inter = subs( f, w , x1);inter = double(inter);err = [err ; abs(y1 - inter)];ris=[ris ; norm(abs(y1 - inter),inf)];plot(x1,y1)hold onendloglog(ampiezza , ris)%al grafico che hai fatto al punto 4 , ci metti sopra questoM = 2.^[1:5];a = -1;b = 1;err = [];ris = [];syms wf = abs(w - pi/12) ;% figure()x1 = a : 0.01 : b;ampiezza= [];for n = MH = (b - a)./n ;ampiezza = [ampiezza ; H];x2 = a : H : b ;y = subs(f , w ,x2);y = double(y);y1 = interp1(x2, y, x1); %(x1 sarebbe la seconda x che troco%solitamente)inter = subs( f, w , x1);inter = double(inter);err = [err ; abs(y1 - inter)];ris=[ris ; norm(abs(y1 - inter),inf)];% plot(x1,y1)% hold onendloglog(M , ris)PUNTO 2>> lab6_7_1>> hold

on>> lab6_7_2>> legend ('legge di moto' , 'dati sperimentali',' Lag ' , ' com ', ' mq ') PUNTO 3y_L_1_05 = polyval ( p , 1.05) IMQ_1_05 = polyval(polyfit( (0 : 0.1 : 1)' , y_s ,2 ) , 1.05 ) tdis = linspace (min( t ) , 1.1 , 1000 ) t = 0 : 0.1 :1 ; tdis = linspace (min( t ) , 1.1 , 1000 ) y_new = polyval ( p , tdis) y_imq_new = polyval ( polyfit ( t , y_s , 2 ) , tdis)
Dettagli
Publisher
A.A. 2021-2022
71 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher itsgrace di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Dedè Luca.