Bonjour
Je suis étudiant en classe prépa BCPST, et en option informatique, on nous demande de manipuler MATLAB. Notre section étant à dominante biologie/chimie, et à raison de deux heures d'infos par semaine, nous sommes loin d'être des flèches dans cette discipline
Ma question va donc sûrement vous parraître trivial, mais croyez moi, ça fait plusieurs heures que je planche dessus
Voici mon problème :
j'ai une boucle
dans cette boucle j'ai une condition
j'aimerais que lorsque cette condition est réalisée, que la boucle se réinitialise, c'est à dire qu'elle reprenne de 1 !
voici la fonction en question (j'ai indiqué la boucle problématique en commentaire).
Donc voilà, ma boucle va de 1 à m, ( for p=1:m)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 %%%Fonction reproduction %%%% fait une troncature de p1 à différent rang et accole les valeurs de %%%% p2 en prenant gare qu'elles ne se trouvent pas déjà dans la troncature %%%% de p1 %%%% exemple : p1= [1 2 3 4 5 6] %%%% p2= [3 6 4 1 2 5] %%%%r = 1 3 6 4 2 5 %%%% 1 2 3 6 4 5 %%%% 1 2 3 6 4 5 %%%% 1 2 3 4 6 5 %%%% 1 2 3 4 5 6 %%%% 1 2 3 4 5 6 function r=reproduction(p1,p2) n1=size(p1) n=n1(1,2) r=zeros(n,n) for k=1:n %%%Ces deux boucles créent les n troncature de p1 for j=1:k r(k,j)=p1(j) end end for m=1:(n-1) q=0 for o=(m+1):n for p=1:m %%%BOUCLE PROBLEMATIQUE if p2(o-m+q)==r(m,p) q=q+1 p=1 end end r(m,o)=p2(o-m+q) end end
si je fais p=1 à la fin de la boucle, ma boucle "l'ignore", et si par exemple elle était à 3, elle passe à 4 :s
Merci d'avance![]()
Partager