0% ont trouvé ce document utile (0 vote)
1 vues7 pages

s7 Informatique TD 2

Améliorez la performance sur mathématiques

Transféré par

aldinocedric550
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1 vues7 pages

s7 Informatique TD 2

Améliorez la performance sur mathématiques

Transféré par

aldinocedric550
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercice 8

clear;
% Question 1
x = linspace(-2,1,1000);
p = [4,13,15,10];
px=polyval(p,x);
% Question 2a
plot(x,px,'b');
% Question 2b
y0=zeros(size(x));
hold on;
plot(x,y0,'r');
% Question 2c
r=roots(p); %racines de p(x) = 0
nr = find(r==real(r));
rr = r(nr) % racines réelles uniquement
plot(rr,zeros(size(rr)),'*r');

exercice 9

clear;
x = linspace(-2,5,1000);
p = [1,-5,-7,29,30];
px=polyval(p,x);
dp = polyder(p); % dérivée de p(x)
rdp = roots(dp); % racines de p'(x) = 0
pmax = max(polyval(p,rdp));
pxmax = polyval(pmax,x);
pmin = min(polyval(p,rdp));
pxmin = polyval(pmin,x);
ydp = polyval(p,rdp); % valeur de p(rdp)
plot(x,px,'b');
hold on;
plot(x,pxmax,'r') %
t = sprintf('b=%.5f',pmax);
text(0,pmax+3,t,'color','r');
plot(x,pxmin,'m') %
t = sprintf('a=%.5f',pmin);
text(0,pmin+3,t,'color','m');
axis([-2,5,-40,60]);

exercice 10

clear;
xi = [0.25,0.5,1,2,3];
yi = [18,7,4,2,1.1];
c1 = ones(size(xi'));
c2 = (1./xi)';
c3 = (1./(xi.*xi))';
y = yi';
X = [c1,c2,c3];
A = (X'*X)\(X'*y);
a0 = A(1);
a1 = A(2);
a2 = A(3);
s = sprintf('a0=%.4f\ta1=%.4f\ta2=%.4f\n',a0,a1,a2);
disp(s);
x=linspace(0.2,4,100);
y=a0+a1./x+a2./(x.*x);
plot(xi,yi,'*b',x,y,'r');
axis([0.2,4,0,25]);
ei = yi-(a0+a1./xi+a2./(xi.*xi));
em = mean(ei);
sig = std(ei);
t = sprintf('erreur moyenne: %.5e',em);
text(2,20,t,'color','b');
exercice 11
clear;
[numdata,textdata,alldata] = xlsread('[Link]');
zi = numdata(:,1); % altitude
Pi = numdata(:,2); % pression
figure;
title('Problème d''interpolation');
xlabel('x');
ylabel('y');
% interpolation
x = linspace(0.5,5,1e3); % création de x dans [0.5,5.5]
yl = interp1(zi,Pi,x,'linear'); % interpolation linéaire
yc = interp1(zi,Pi,x,'cubic'); % interpolation cubic
ys = interp1(zi,Pi,x,'spline'); % interpolation spline
hold on
plot(zi,Pi,'*',x,yl,'m',x,yc,'r',x,ys,'g')
legend('données','linéaire','cubique','spline');
xp = 1.25; % valeur particulière de x
yp1 = interp1(zi,Pi,xp,'linear');
yp2 = interp1(zi,Pi,xp,'cubic');
yp3 = interp1(zi,Pi,xp,'spline');
plot(xp,yp1,'om',xp,yp2,'or',xp,yp3,'og');
% moyenne des yp
ypm = mean([yp1 yp2 yp3]);
% incertitude sur ypm
sig = std([yp1 yp2 yp3]); % écart-type par rapport à la moyenne
% affichage des valeurs
t = sprintf('Pour z = %s, on a P = %.2f avec une incertitude de
%.2e',num2str(xp),ypm,sig);
text(0.55,550,t,'color','b'); % affichage en mode graphique
% Question 4
A = [zi ones(size(zi))];
B = log(Pi);
X = A\B; % ou X = inv(A'*A)*(A'*B);
alpha = X(1); % en km^-1
beta = X(2); % sans unité
% affichage de alpha et beta
a1 = sprintf('alpha = %.2fkm^-1 et beta = %.2f',alpha,beta);
disp(a1)
%b) Comparaison des données et du modèle (2,5 pts)
% graphe des données
figure;
plot(zi,log(Pi),'*b')
title('Variation de log(P) en fonction de l''altitude z')
xlabel('Altitude z en km'); ylabel('log(P)')
% modèle
z = linspace(0,5,1e3); % en km
y = alpha*z+beta; % log(P)
hold on
plot(z,y,'-r')
legend('données','modèle')
% Erreurs de modélisation
% Calcul et affichage de P0
% calcul et affichage de P0
P0 = exp(beta); % en hPa
a2 = sprintf('P0 = %.2fhPa',P0); disp(a2)
% Calcul de la matrice d’erreur
% matrice d'erreur
ei = Pi - P0*exp(alpha*zi);
% Calcul et affichage des erreurs
% calcul des erreurs
N = length(ei);
epsilon = 1/N*sum(ei); % erreur moyenne ou epsilon = mean(ei);
sigma = sqrt(1/(N-1)*sum((ei-epsilon).^2)); % erreur absolue
% ou sigma = std(ei);
% affichage des erreurs
a3 = sprintf('Epsilon = %.2fhPa et Sigma = %.2fhPa',epsilon,sigma);
disp(a3)
exercice 12

clear;
%global n;
% calcul d'intégrale numérique
%for n = 1:5
% I(n) = quad('fonc',0,100);
%end
% affichage
%for i = 1:n
% fprintf('I(%d) = %e\n',i,I(i))
%end
for n=1:5
f = @(x) x.*exp(-n*x.^2);
I(n)=integral(f,0,100);
end
for n = 1:5
fprintf('I(%d) = %e\n',n,I(n));
end

Vous aimerez peut-être aussi