Aidez moi SVP , réaliser 2 boucles pour méthode de newton

Résolu/Fermé
the cameleon Messages postés 358 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 25 juillet 2019 - 18 mars 2013 à 22:27
Krys_06 Messages postés 22 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 29 mars 2013 - 21 mars 2013 à 16:34
Bonjour,

svp j'ai cette équation que je doit résoudre avec la méthode de Newton-Raphson sous MATLAB :


f(I)=Icc-I-Is*{exp[q*(V+Rs*I/nkt)]-1}

Icc,Is,q,Rs,n,k,t --> des constantes
I et V --> des variable

je cherche I , pour chaque valeur de V sachant que V varie de 0 à 0.6

il me faut donc deux boucle ( 2 fort ) ou bien ( 2 while )


merci d'avance pour votre aide


A voir également:

6 réponses

the cameleon Messages postés 358 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 25 juillet 2019 26
19 mars 2013 à 09:05
ya til quelqu'un qui peu m'aider svp ??
0
Krys_06 Messages postés 22 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 29 mars 2013
Modifié par Krys_06 le 19/03/2013 à 09:35
Ton problème n'est pas compréhensible (en tout cas par moi).
"je cherche I , pour chaque valeur de V sachant que V varie de 0 à 0.6" => mais pour que f(I) fasse quoi: 0????
Si c'est le cas, utilise fzero.
Si c'est un exercice, je ne vais pas le faire à ta place.
0
the cameleon Messages postés 358 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 25 juillet 2019 26
19 mars 2013 à 09:56
Bonjour,

pourquoi ce n'est pas comprehnsible !!!!!!! ?
il s'agit d'une fonction de la caracteristique électrique d'une cellule photovoltaique en fonctionnement normal ; et je cherche a tracer le graphe I=f(V)
je ne sais juste pas comment l'ecrire sur matlan, car j'ai aucune base !!

pour V=0
et pour I=0
je résous I = .... avec newton raphson

ensuite pour V=0.1 ( par exemple )
et pour I= quelque chose
je résous ..... ( avec newton raphson )
.
.
.
.
.
pour V=07
et pour I=2
je trouve I

et la fin e trace



je ne sais pas comment le mettre sur matlab ,

et ce n'est pas un exercice !!! je prépare une these et je rencontre cette difficulté ! je demande de l'aide !
0
Krys_06 Messages postés 22 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 29 mars 2013
20 mars 2013 à 10:59
Je vais te dire ce qui n'est pas clair.
Tu parles de f(I) mais en fait, tu as 2 variables: I et V donc c'est plutôt f(I, V)
Tu demandes à trouver I en fonction de V mais sans dire pour quelle valeur de f(I, V). Car chercher I pour un V donné tel que f(I, V) = 10, ce n'est pas la même chose que pour f(I, V) = -50...
Ensuite, tu ajoutes: "
pour V=0
et pour I=0
je résous I = .... avec newton raphson"
Spontanément, j'ai envie de te dire... benh I = 0!
Et je peux même généraliser: pour V=a et I=b, je peux te dire que I=b...

Bref, lisons entre les lignes.
Tu cherches en gros (I, V) tel que f(I, V) = 0? En très résumé, le front de pareto de abs(f(I, V))?

En attendant, je ne sais pas pourquoi tu t'obstines avec ta méthode de Newton alors que si tu utilises Matlab en tant qu'outil, ils disposent de fonctions déjà codées pour te trouver les zéros d'une fonction!

Donc:
V = 0:step:10; % je ne sais pas entre quoi et quoi tu fais varier V

for idx = 1:numel(V)
I(idx) fzero(@(I), Icc - I - exp(... V(idx) ...), I0);
end;

En tout cas, j'espère que ton mémoire de thèse sera plus clair que tes questions sur ce forum.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
the cameleon Messages postés 358 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 25 juillet 2019 26
20 mars 2013 à 20:56
pas claire ! peut etre que je me suis mal exprime !
pourquoi je m'obstine ? par ce que c'est de ça dont j'ai besoin !!! tu peut comprendre ?
sinon je propose la solution un jour ça pourra servir !

%%Constantes
Icc=2.000;
Is=1e-6;
q=1.6e-19;
Rs=0.005;

a=2;
k=1.38e-23;
t=300;
eps=0.0001;

%%parametres de l'algorithme
I=0;
V=0;
pas=0.7/100;

for i=1:100;
for j=1:5000
Ip=I;
fI=Icc-I-Is*(exp(q*(V+Rs*I)/(a*k*t))-1);
fII=-1-Is*(q*Rs/(a*k*t))*(exp(q*(V+Rs*I)/(a*k*t)));
I=I-(fI/fII);
if (abs(I-Ip))<eps;
break
end
end
courant(i)=I;
tension(i)=V;
V=V+pas;

end
plot(tension,courant)
title('I en fonction de V');
xlabel('V [V]');
ylabel('I[A]');
0
Krys_06 Messages postés 22 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 29 mars 2013
21 mars 2013 à 16:34
T'es trop fort...
Enfin faudra quand même que tu m'expliques pourquoi tu t'accroches autant à ta méthode de Newton... A se demander si c'est le but de ta thèse de la coder...
Allez, tu peux même faire plus beaucoup plus propre avec des fonctions anonymes pour définir f et sa dérivée mais ça, c'est en 2ème année de thèse, entre la page 100 et 140 du mémoire.
0
the cameleon Messages postés 358 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 25 juillet 2019 26
20 mars 2013 à 22:15
cependant je rencontre un autre petit problème , je pense que vous pourriez quand meme m'aider la dessus

sur la figure obtenu , et sur l'axe Y donc (I) , la première valeur concide avec le zéro ,
je souhaite qu'il y-est un pas entre le zero et la première valeur de (I)

et ça meme si je change les données

merci
0