C'est quoi le problème dans mon programme?
anihak_stid
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
anihak_stid Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
anihak_stid Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- C'est quoi le problème dans mon programme?
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme demarrage windows - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
2 réponses
anihak_stid
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
j'ai posté le programme
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