Forum des Bioingénieurs de l'ULB
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-20%
Le deal à ne pas rater :
-20% Récupérateur à eau mural 300 litres (Anthracite)
79 € 99 €
Voir le deal

Q2 exam 30avril 2011

5 participants

Aller en bas

Q2 exam 30avril 2011 Empty Q2 exam 30avril 2011

Message par CharlotteBD Jeu 17 Mai - 14:37

Re,

En fait j'ai fait comme pour l'exercice1 de la séance3 (j'ai trouvé un nouveau N avec l'erreur) mais je ne trouve pas du tout la bonne valeur de l'intégrale. J'ai utilisé la méthode des trapères:

Quelqu'un sait m'aider?

%Question 2 exam 2011
clear;clc;format long;
f=@(u)cos(u)-(1./cos(u));
fp=@(u)(f(u+0.001)-f(u))./0.001;
fpp=@(u)(fp(u+0.001)-fp(u))./0.001;
a=0;b=(pi/4);N=1000;
h=(b-a)/N;
u=linspace(a,b,N+1);
y=f(u);
y2=(h/2)*y(2:end-1);
Integrale=(h/2)*(y(1)+sum(y2)+y(end))
max(abs(fpp(u)))
erreur=(h^2*(b-a).*max(abs((fpp(u))))/12)
h=((10^-12)*12)./((b-a).*abs(max((fpp(u)))^(0.5)))
N=(b-a)/h
round(N+1)

Integralenew=(h/2)*(y(1)+sum(y2)+y(end))

reponsequad=quad(f,a,b,10^-12)

Et mes réponses sont:
Integrale = -3.118428899798174e-004
ans = 4.964643449234529
erreur =2.004363390703175e-007
h = 1.080378949146075e-011
N = 7.269654448730444e+010
ans = 7.269654448800000e+010
Integralenew = -4.289652172315796e-012
reponsequad = -0.174266805832998

Merciii!
CharlotteBD
CharlotteBD
Dopamine
Dopamine

Féminin
Nombre de messages : 78
Année d'étude : MA1
Section : Bioingénieur
Date d'inscription : 27/12/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par Corentin* Jeu 17 Mai - 15:27

J'ai employé la méthode de simpson personnellement==> le graphe est une demi parabole et simpson approxime la courbe par des paraboles donc c'est plus efficace.

Sinon, pour le bug dans le programme je sais pas trop t'aider: je comprends pas trop le " h=((10^-12)*12)./((b-a).*abs(max((fpp(u)))^(0.5)))" enfin je suppose que tu détermines un nouveau h sur base de l'erreur que tu dois avoir mais bon...je trouve ça compliqué :p

Moi je ferais plutôt une boucle faisant varier N (et donc h = (b-a)/N) alors tu fais comme M. Tolley et tu prédéfinis une matrice contenant plusieurs N différents puis tu fais un for i.... qui parcourt les différents N et dans cette boucle tu mets un if qui va checker si ton erreur est <10^-12 et qui arrête le programme si c'est le cas.

Dans le même esprit tu peux faire une boucle for N=100:x:50000000... faut mettre un pas x assez grand pcq sinon ton programme va tourner un certain temps et peut-être même faire planter le pc.
Corentin*
Corentin*
Psychotrope
Psychotrope

Masculin
Nombre de messages : 251
Année d'étude : MA2
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 04/10/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par florian duchatel Jeu 17 Mai - 15:35

t'as vérifié ta dérivée ?
J'ai fais comme toi (en gros) et moi j'arrive à la moitié de la réponse quad :p je sais pas ou j'ai faux(certainement dans la dérivé).
Et j'ai aussi fait avec les boucles coco, mais c'est quasi impossible a deviner ou est ce que tu dois t’arrêter pour avoir une précision de 10^-12( et effectivement avec cette méthode mon pc a réfléchit pdt 30min, j'ai cru que il allait exploser).
Si ça peut t'aider charlotte voila mon programme:

clc;clear;
x0=0;xf=pi/4;
N=200;
i=1;
erreur=10^(-12);
fpp=@(t)-cos(t)+(cos(t).^3+2.*sin(t).^2.*cos(t))./cos(t).^4;
t=0:0.001:pi/4;
plot(t,fpp(t));
grid on;hold on;
N=10000;
%f''(x)max=3.6
m=max(fpp(t));
h=(12*erreur/((xf-x0)*m))^(1/2);
x=x0:h:xf;
f=cos(x)-(1./cos(x));
f(2:end-1)=2*f(2:end-1);
int=h/2*sum(f);
R=[int erreur h]
format long g
f=@(x)cos(x)-(1./cos(x));
repquad=quad(f,x0,xf,10^-12)

réponses:

R =

-0.174266805832998 1e-012 2.08073064663787e-006


repquad =

-0.174266805832998

je l''ai éditer mnt il fonctionne ^^


Dernière édition par florian duchatel le Jeu 17 Mai - 17:36, édité 1 fois
florian duchatel
florian duchatel
Mitochondrie
Mitochondrie

Masculin
Nombre de messages : 68
Année d'étude : BA2
Section : Bioingénieur
Date d'inscription : 16/10/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par CharlotteBD Jeu 17 Mai - 15:41

Corentin, tolley utilise quand le for et break car nous on a jamais utilisé cette technique :s
CharlotteBD
CharlotteBD
Dopamine
Dopamine

Féminin
Nombre de messages : 78
Année d'étude : MA1
Section : Bioingénieur
Date d'inscription : 27/12/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par Corentin* Jeu 17 Mai - 15:49

C'est l'algorithme de Tolley pour simpson:
% Calcul d'une intégrale par la méthode de Simpson
% Attention, si les intervalles sont trop petits on perd en précision
% N=500 donne un résultat plus précis que N=5000000 !
clear; clc
format long
f= inline('cos(pi*(x.^2)/2)');
a=0; b=1;
Nb_intervalles=[50 100 500 1000 50000 100000 5000000];
for n=1:length(Nb_intervalles)
N=Nb_intervalles(n);
h=(b-a)/N;
x=linspace(a,b,N+1);
y=f(x);
y4=4*y(2:2:end-1);
y2=2*y(3:2:end-2);
I(n)=h/3*(y(1)+sum(y4)+sum(y2)+y(end));
end
I'
J=quad(f,a,b,1e-15)


Voilà voilà
Corentin*
Corentin*
Psychotrope
Psychotrope

Masculin
Nombre de messages : 251
Année d'étude : MA2
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 04/10/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par Corentin* Jeu 17 Mai - 15:54

Pour le break c'est l'autre assistante qui nous a montré ça:

"if erreur (que tu définis avant) < 10^-12
break (ça arrête la boucle précédente donc le for)=====> ça te permet de pas faire tourner ton programme inutilement
end"

C'est surtout utile si tu veux voir le nombre d'intervalles nécessaire pour avoir une certaine erreur et pour voir quel nombre tu dois rajouter "Nombre_intervalle=N" entre le break et le if (sans mettre de point virgule) comme ça il te le mettra dans les output.
Corentin*
Corentin*
Psychotrope
Psychotrope

Masculin
Nombre de messages : 251
Année d'étude : MA2
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 04/10/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par V. Jeu 17 Mai - 17:26

Moi j'arrive au bon résultat, mais j'ai une précision caca.

Voilà mon prog :

clear;clc; format long
a=0; b=pi/4; %Bornes d'intégration
N=1000000:1000000:3000000; %Permet de faire varier le nombre d'intervalles
for Nb_intervalles=N
h=(b-a)/Nb_intervalles; %Pas de discrétisation
x=linspace(a,b,Nb_intervalles+1); %Abscisses de tous les points d'intégration
f=cos(x)-1./cos(x); %fonction à intégrer
f(2:2:end-2)=4*f(2:2:end-2);%Contribution des termes 2*f
f(3:2:end-1)=2*f(3:2:end-1);%Contribution des termes 4*f
Integrale=h/3*sum(f);%Calcul de l'intégrale via Simpson
end
g=@(x) cos(x)-1./cos(x);
Integrale_via_Simpson=Integrale
reponse_via_quad=quad(g,a,b,10e-12)

Réponses :

Integrale_via_Simpson =

-0.174266620713013


reponse_via_quad =

-0.174266805833021

Que faire ? Faudrait passer par Romberg en fait ? -_-
V.
V.
Mitochondrie
Mitochondrie

Féminin
Nombre de messages : 59
Année d'étude : Diplomé(e)
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 31/01/2009

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par florian duchatel Jeu 17 Mai - 17:32

Non , tu fixe ton h avec l'erreur que le prof donne Smile
florian duchatel
florian duchatel
Mitochondrie
Mitochondrie

Masculin
Nombre de messages : 68
Année d'étude : BA2
Section : Bioingénieur
Date d'inscription : 16/10/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par V. Jeu 17 Mai - 17:54

Quoi faut faire avec le majorant de la dérivée quatrième là ? Raaah beurk... -_-
V.
V.
Mitochondrie
Mitochondrie

Féminin
Nombre de messages : 59
Année d'étude : Diplomé(e)
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 31/01/2009

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par Corentin* Jeu 17 Mai - 18:03

Vas y flo' trouve le h avec la formule de l'erreur pour Simpson! :p

Ici, si tu emploies simpson, le seul truc que tu peux faire pour l'erreur, c'est faire plusieurs calcul avec des N différents, les comparer avec quad et voir quel N te donne une précision à la 12 décimale. Puis tu mets comme Tolley dans ses programmes "%on remarque que la précision demandée est atteint pour N>10 000"

Sinon, si tu mets un trop grand N ça peut faire foirer Simpson Virgine (cfr programme de Tolley)
Corentin*
Corentin*
Psychotrope
Psychotrope

Masculin
Nombre de messages : 251
Année d'étude : MA2
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 04/10/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par V. Jeu 17 Mai - 18:14

Ah ouais je viens de comprendre avec tes explications le truc de l'algorithme que tu as posté.

En gros je suis obligée de prendre plusieurs valeurs pour N, d'un faire un vecteur,
mais aussi d'afficher chaque résultat d'intégrale et de comparer chaque valeur avec quad ?
Puis de dire pour N=x bah j'ai une super précision ?


Si oui merci beaucoup, c'était mon dernier petit soucis avec matlab :p
V.
V.
Mitochondrie
Mitochondrie

Féminin
Nombre de messages : 59
Année d'étude : Diplomé(e)
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 31/01/2009

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par Corentin* Jeu 17 Mai - 18:32

Je ne vois pas comment faire autrement...de manière faisable...maintenant ici la dérivée 4e est super ch*ante à calculer mais sinon y'aurait moyen de la calculer et de trouver le pas en fonction de l'erreur mais bon!
Corentin*
Corentin*
Psychotrope
Psychotrope

Masculin
Nombre de messages : 251
Année d'étude : MA2
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 04/10/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par Berengere Jeu 17 Mai - 19:49

Doù le fait que quand on l'a fait au tp, on a utilisé la formule des trapèzes..... c'est plus facile pour l'histoire du calcul d'erreur... Very Happy et en même temps, la dérivée 4ème, si tu l'approches comme d'habitude, c'est pas si difficile Very Happy
soit... et nous avec Tolley au tp, il nous a bien fait recalculer h avec l'erreur qu'on veut avoir.... et on peut utiliser l'histoire max(abs(dérivée xéme(x))) pour trouver le majorant de la dérivée plutôt que d'essayer de résoudre ça tout seuls Smile
Berengere
Berengere
Neurotransmetteur
Neurotransmetteur

Féminin
Nombre de messages : 153
Année d'étude : MA2
Section : Bioingénieur
Option : Chimie et bioindustries - Option génétique
Date d'inscription : 17/09/2010

Revenir en haut Aller en bas

Q2 exam 30avril 2011 Empty Re: Q2 exam 30avril 2011

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser