C'est quoi le problème dans mon programme?

Fermé
anihak_stid Messages postés 6 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 6 juillet 2015 - 6 juil. 2015 à 01:28
anihak_stid Messages postés 6 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 6 juillet 2015 - 6 juil. 2015 à 01:59
Bonjour,
j'ai un programme qui me donne des variables aleatoires suivant une loi normale par la methode de box muller le problème c'est qu'en resultat il me donne un vecteur de 1 1 1 1 or quand j'essai de verifier j'ai des valeur # 1






2 réponses

Utilisateur anonyme
6 juil. 2015 à 01:34
Hummmm !
Difficile a dire sans connaitre le programme ?
0
anihak_stid Messages postés 6 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 6 juillet 2015
6 juil. 2015 à 01:52
j'ai posté le programme
0
anihak_stid Messages postés 6 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 6 juillet 2015
Modifié par Judge_DT le 6/07/2015 à 01:52
clear all
clc
%DECLARATIONS

S=0;
premier=[];
mu=[];
PARAMETRE=[];
RR=[];
RRR=[];
R2=[];
MODELE=[];
D=[];
D1=[];
moy=[];
R1=[];
PM=[];
PM1=[];
mu=[];
a=[];
boxm=[];



%BEGIN

M=100;
N=100;
%RDS%**********************************************
while sum(moy)<=N
y=0;
while y==0
B=round(M*rand(1));
y=isprime(B);
end
B
%generation des Ri
for i=1:B
rs=(i-0.5);
R=rs/B;
R1(i)=R;
end
R1;
%Mélanger le vecteur
for i=1:B
p1=round(B*rand(1));
while(p1<i)|(p1>B)
p1=round(B*rand(1));
end
va=R1(p1);
R1(p1)=R1(i);
R1(i)=va;
end
R1
G=R1;%contient le dernier vecteur généré
R2=R2(1:sum(moy));
R2=[R2,R1];
moy=[moy length(R1)]
end
premiert=moy(1:length(moy)-1); %premiert contient les tous les nomb'res premiers moins le dernier
R1=G(1:N-sum(premiert));% contient les N- somme(nombre premiers-1) valeurs km
RR=R2(1:length(R2)-length(G));
RRR=[RR,R1]
R3=RRR;

%Remelanger

for i=1:N
p2=round(N*rand(1));

while(p2<i)|(p2>N)
p2=round(N*rand(1));
end
va1=R3(p2);
R3(p2)=R3(i);
R3(i)=va1;
end
R3
%_________--________--_________--_________--_________

%generation du vecteur des ALEAS Suivant une dist_rademacher
for i=1:N
alea=2*round(RRR)-1;
mu=alea';
end

%génération de v.a avec la M.Box_muller (N(0,1))
m=0; %moyenne
v=1; %variane
i=1;
t=sqrt(v);
while (i <= N)
u(i)=RRR(i);
u(i+1)=R3(i);
y(i)=sqrt(-2*log(u(i)))*cos(2*pi*u(i+1));
y(i+1)=sqrt(-2*log(u(i)))*sin(2*pi*u(i+1));
x(i)=t*y(i)+m;
x(i+1)=t*y(i+1)+m;
i=i+2;
end
0
Judge_DT Messages postés 29395 Date d'inscription vendredi 5 février 2010 Statut Modérateur Dernière intervention 23 octobre 2021 9 660
6 juil. 2015 à 01:52
Salut,

Lorsque tu postes du code sur le forum, veille à bien utiliser les balises de code ;-)

Bien à toi,
0
Utilisateur anonyme
6 juil. 2015 à 01:54
Tu doit modifié: PARAMETRE=[];
0
anihak_stid Messages postés 6 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 6 juillet 2015
6 juil. 2015 à 01:54
oui c'est avec matlab c sa le code!!
0
anihak_stid Messages postés 6 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 6 juillet 2015
6 juil. 2015 à 01:59
ah mais ce n'est pas le problème, le problème ce pose au niveau des y(i), j'ai des 1
0