Forum Bioingénieur BAC2
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
ETB Pokémon Fable Nébuleuse : où ...
Voir le deal

Séance 7

+4
nicodev
Arnaud Goessens
Caroline
Simon
8 participants

Aller en bas

Séance 7 Empty Séance 7

Message  Simon Sam 10 Mai - 16:10

salut à tous,
quelqu'un a-t-il compris comment faire le programme de la séance 7? y aurait-il moyen de le poster sur le forum svp?

Merci d'avance

Simon
Enzyme
Enzyme

Nombre de messages : 13
Age : 36
Date d'inscription : 30/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Caroline Dim 11 Mai - 12:09

En fait, il faut juste faire la méthode de Newton.

clc
clear
kappa=101/4;
rho=0.0950*4;
phi=1;
x=0:0.01:6;
f=inline('rho*(1-u/kappa)-phi*u/(1+u.^2)');
y=f(kappa,phi,rho,x);
plot(x,y);
grid on;
pause;

fp=inline('(-rho/kappa)-phi*((1-u.^2)/(1+u.^2)^2)');
u(1)=0.4;
for n=2:5
u(n)=u(n-1)-f(kappa,phi,rho,u(n-1))/fp(kappa,phi,rho,u(n-1));
end
u(n)

Caroline
Enzyme
Enzyme

Nombre de messages : 11
Age : 35
Date d'inscription : 25/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Simon Dim 11 Mai - 12:37

ha ouais c tt con en fait, je voyais pas trop ce qu'il fallait faire.
Merci bcp

Simon
Enzyme
Enzyme

Nombre de messages : 13
Age : 36
Date d'inscription : 30/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Arnaud Goessens Dim 11 Mai - 13:28

mais jcomprend pas très bien le u(1)=0.4 ...
c'est qd meme bien la racine que l'on cherche ?!

si oui, moi elle se trouve en 22.27 ...
wtf?
Arnaud Goessens
Arnaud Goessens
Virus
Virus

Nombre de messages : 124
Age : 35
Date d'inscription : 22/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  nicodev Dim 11 Mai - 13:36

moi aussi je trouve 22.27!!
nicodev
nicodev
Mitochondrie
Mitochondrie

Nombre de messages : 69
Date d'inscription : 25/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Gab Dim 11 Mai - 14:27

de plus je ne comprend pas pourquoi tu fais dépendre ton inline de x alors que x n'apparaît nulle part d'ou je ne comprend pas ton interval pour les x... cependant merci d'avoir mis ton programme c'est cool.
Gab
Gab
Mitochondrie
Mitochondrie

Nombre de messages : 48
Age : 36
Localisation : La hulpe
Date d'inscription : 08/01/2008

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Gab Dim 11 Mai - 14:30

ton x correspond sûrement au U
Gab
Gab
Mitochondrie
Mitochondrie

Nombre de messages : 48
Age : 36
Localisation : La hulpe
Date d'inscription : 08/01/2008

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Arnaud Goessens Dim 11 Mai - 20:06

? qqun a trouvé une solution a mon problème? Neutral
Arnaud Goessens
Arnaud Goessens
Virus
Virus

Nombre de messages : 124
Age : 35
Date d'inscription : 22/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Philippe Dim 11 Mai - 23:06

moi j'ai encore mieux ....

ma racine se déplace si je change le domaine de ma fonction....

par exemple si je mes x=-10:0.01:20 ma racine se trouve en x=10
si je fais x= -10:0.01:50, ma racine se trouve en x= 20

Mais ouiii Philippe !!!

c'est quand même bizarre y a que pr la séance 7 que j'ai ce problème.
Philippe
Philippe
Mitochondrie
Mitochondrie

Nombre de messages : 69
Age : 37
Localisation : Bruxelles
Date d'inscription : 28/10/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Arnaud Goessens Dim 11 Mai - 23:15

ouais ca c hyper bizarre ... Very Happy

Caroline... pleaaaaase explique nous ton ptit progaaaaaaaaaaame ... Neutral
Arnaud Goessens
Arnaud Goessens
Virus
Virus

Nombre de messages : 124
Age : 35
Date d'inscription : 22/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Philippe Dim 11 Mai - 23:19

je crois que son prog il n'est pas très juste vu que sa racine c est 0.4 et que sur son graph, elle est en 22.47 ... enfin on le voit si on donne une valeure plus grande à x
Philippe
Philippe
Mitochondrie
Mitochondrie

Nombre de messages : 69
Age : 37
Localisation : Bruxelles
Date d'inscription : 28/10/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Mélody Dim 11 Mai - 23:20

Gab a écrit:de plus je ne comprend pas pourquoi tu fais dépendre ton inline de x alors que x n'apparaît nulle part d'ou je ne comprend pas ton interval pour les x... cependant merci d'avoir mis ton programme c'est cool.

vous vous souvenez dans les autres programmes:
"a=0:1:10
b=f(a)" où f avait été exprimé avant..
ici c'est la même chose, sauf que b c'est y et a c'est x.

ici j'ai mon programme légèrement différent, pte que ca vous éclairera?

a=0:1:10;
K = 101;
r0 = 0.0950;
%r0 = 0.0951;
A = 4; B = 1;
rho = r0*A/B;
kappa = K/A;
f=inline('rho*(1-u/kappa) - u/(1+u.^2)');
b=f(rho,kappa,a);
plot(a,b);
grid on, hold on;
% c'est une fonction linéaire, avec un zéro en 0.378
fprime=inline('(-rho/kappa)-(1-u.^2)/((1+u.^2).^2)');
u(1)=0.378;
for n=2:10
u(n)=u(n-1)-f(rho,kappa,u(n-1))/fprime(rho,kappa,u(n-1));
end
format long
u(n)

%u(n)=0.37505170360695

sauf que Caroline obtient 0.44825186463065..... :s
Mélody
Mélody
Mitochondrie
Mitochondrie

Nombre de messages : 52
Age : 35
Date d'inscription : 24/09/2007

http://picasaweb.google.com/Full.Bubulles

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Gab Lun 12 Mai - 9:25

oui j ss tout à fait d'accord avec toi melody mais tu dois le faire varier dans un domaine par pas :

U=-10 :0,01 :10 ;
f=inline(‘Rho*(1-u/kappa)-phi*(u/(1+u^2)’)
Y=f(Rho,phi,kappa,u) ;

enfin ici je l'ai appelé U mais bon ca aurait pu etre X en fait autant pour moi... donc ma question de tantot n'avait pas lieu d'etre...deso à force de donner à mes variables la meme lettre que la variable de la fct j'en aurais presque l'impression que c'est obligatoire... lol sorry pour mon post de tanto..
Gab
Gab
Mitochondrie
Mitochondrie

Nombre de messages : 48
Age : 36
Localisation : La hulpe
Date d'inscription : 08/01/2008

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  fletteman Lun 12 Mai - 9:33

moi j'ai ça, et ça à l'air de tourner rond, j'ai une racine encore différente, mais fort proche de celle d'Arnaud et Nico...

% Séance 7:
% Pullulation de la chenille de l'épicéa % Choristoneura fumiferana
% Equation de Ludwig et al. (1978)

% K : capacité biotique
% A et B : termes de prédation
% p : effectif de la population
% p0 : effectif initial
% r0 : taux de croissance intrinsèque



%% METHODE DE NEWTON:

clear


r0 = 0.0950;
kappa=101/4;
rho=r0*4;
phi=1;
x=0:0.01:40;
F=inline('rho*(1-u/kappa)-phi*u/(1+(u.^2))');
y=F(kappa,phi,rho,x);
plot(x,y);
grid on;
pause;


Fprime = inline('(-rho/kappa)-phi*((1-(u^2))/((1+u^2)^2))');
u(1) = 23.175;
for n = 1:5
u(n+1) = u(n) - F(kappa,phi,rho,u(n))/Fprime(kappa,phi,rho,u(n));
end

format long
u'
fletteman
fletteman
Enzyme
Enzyme

Nombre de messages : 11
Age : 36
Date d'inscription : 09/05/2008

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Caroline Lun 12 Mai - 11:40

Bon, j'ai relu mon programme...
En fait, j'ai oublié d'écrire le point après le 'u' dans la fonction f et ça change TOUT.
J'ai écrit: f=inline('rho*(1-u/kappa)-phi*u/(1+u.^2)')
Alors que je devais écrire: f=inline('rho*(1-u/kappa)-phi*u./(1+u.^2)')
J'obtiens alors un graphe avec 2 racines: une en ~0.4 et l'autre en ~2.5
Au final, ma racine est 0.044825. J'ai vérifié en réinjectant la réponse dans la fonction, et j'obtiens bien 0 donc ça doit être juste.
Désolé de vous avoir induit en erreur... Rolling Eyes

Pour mon x, il correspond bien au 'u'. Quand je fais y=f(kappa,phi,rho,x) je remplace en fait tous les 'u' de ma fonction f par le vecteur x que j'ai défini au dessus.

Voilà, bon travail à tous Wink

Caroline
Enzyme
Enzyme

Nombre de messages : 11
Age : 35
Date d'inscription : 25/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Simon Lun 12 Mai - 11:52

salut
je comprends pas à quoi sert le . dans le programme apres le u. Je vois bien qu'il y a une énorme différence quand il y en a un et quand il est pas la mais comment on sait qu'on doit le mettre?
Merci

Simon
Enzyme
Enzyme

Nombre de messages : 13
Age : 36
Date d'inscription : 30/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  fletteman Lun 12 Mai - 12:18

j'ai fais la même erreur, et en rajoutant les points là où ils manquaient , j'obtiens pas 2, mais 3 racines... les même que t's 2 premières, mais également ~ 22.25 -.-

Maius par contre lorsque je calcule mes racines, par la méthode de newton, il ne m'indique qu'une réponse et pas la bonne Laughing ; pourtant j'ai cru comprendre qu'il ne fallait que rajouter un facteur K devant u(n+1) = K*u(n) - f(u(n))/fprime(u(n)) et laisser comme u0: u(1)=0.4, c'est-à-dire une valeur s'approchant de la première racine...

donc que passaaaaaaaaaaaa?!? sait-on me dire où est l'erreur? Question
fletteman
fletteman
Enzyme
Enzyme

Nombre de messages : 11
Age : 36
Date d'inscription : 09/05/2008

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Mélody Lun 12 Mai - 12:54

Ce qui est très bizarre c'est que
u(n)=0.37505170360695 !!!!!!!! quand je met f=inline(rho, kappa, phi,x)
u(n)= 0.44825186463065 quand je met f=inline(kappa,phi,rho,x) => mettre par orde alphabétique???

J'ai pas regardé dans ton programme, mais ça peut être ça. En tous cas, y faut faire attention à cette connerie-là!!
Mélody
Mélody
Mitochondrie
Mitochondrie

Nombre de messages : 52
Age : 35
Date d'inscription : 24/09/2007

http://picasaweb.google.com/Full.Bubulles

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  fletteman Lun 12 Mai - 14:12

bin chez moi c'est déjà par ordre alphabétique, mais quand je modifie et que je mets dans un autre ordre, ça change rien par contre... -.-

et j'ai toujopurs 3 racines... ^^

happy matlab flower
fletteman
fletteman
Enzyme
Enzyme

Nombre de messages : 11
Age : 36
Date d'inscription : 09/05/2008

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Caroline Lun 12 Mai - 22:54

Il faut mettre le . après le u parce que u est un vecteur, et qu'on le divise par un terme qui dépend lui-même de u. Il faut donc que les termes du vecteur au numérateur correspondent bien à ceux du dénominateur (euh...je ne sais pas si je suis très claire...mais c'est un peu compliqué à expliquer). Si on avait divisé par une constante (par exemple par kappa, comme juste avant), le point n'aurait pas été indispensable.

Pour le nombre de racines, il en a peut-être bien 3. Mon graphe n'était pas suffisamment grand pour que je puisse voir jusqu'à 22. Mais de toute façon, je crois que si on a une racine, on s'en fout des autres...

Caroline
Enzyme
Enzyme

Nombre de messages : 11
Age : 35
Date d'inscription : 25/09/2007

Revenir en haut Aller en bas

Séance 7 Empty Re: Séance 7

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
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