• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

a guest Jan 18th, 2019 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. clc;
2. clear all;
3. %Chapitre 1
4. %Processus de Wiener
5. %%
6. %1.1.1. Simulation du mouvement Brownien standard à 4 dimensions
7. clc;
8. clear all;
9.
10. T=365; % Instants du processus
11. experiences=10000; % Nombre d'expériences indépendantes
12.
13. position=zeros(4,T+1,experiences); % Matrice pour stocker les expériences : (dimension, temps, expérience)
14. for i=1:experiences
15.     for t=1:T
16.         position(:,t+1,i)=position(:,t,i)+(1/sqrt(T))*randn(4,1);
17.     end
18. end
19.
20. means=zeros(4,3);
21. stds=zeros(4,3);
22. range_of_k=[10 100 300];
23. correlations=zeros(4,4,3);
24. for i=1:3;
25.     k=range_of_k(i);
26.     means(:,i)=[mean(position(1,k,:)); mean(position(2,k,:)); mean(position(3,k,:)); mean(position(4,k,:))];
27.     stds(:,i)=[std(position(1,k,:)); std(position(2,k,:)); std(position(3,k,:)); std(position(4,k,:))];
28.     for m=1:4
29.         for n=m:4
30.     correlation_mn=corrcoef(squeeze(position(m,k,:)),squeeze(position(n,k,:)));
31.     correlations(m,n,i)=correlation_mn(1,2);
32.     correlations(n,m,i)=correlation_mn(1,2);
33.         end
34.     end
35. end
36.
37.
38. %1.1.2. Simulation du mouvement Brownien standard à 4 dimensions corrélées
39.
40. Gamma = [1 0.2 0.8 0.5; 0.2 1 0.3 0.2; 0.8 0.3 1 0.9; 0.5 0.2 0.9 1];
41. choleski_G=chol(Gamma);
42. position_corrigee=zeros(4,T+1,experiences);
43. for i=1:experiences
44.     for t=1:T+1
45.         position_corrigee(:,t,i)=choleski_G*position(:,t,i);
46.     end
47. end
48. means_corrigee=zeros(4,3);
49. stds_corrigee=zeros(4,3);
50. range_of_k=[10 100 300];
51. correlations_corrigee=zeros(4,4,3);
52. for i=1:3;
53.     k=range_of_k(i);
54.     means_corrigee(:,i)=[mean(position_corrigee(1,k,:)); mean(position_corrigee(2,k,:)); mean(position_corrigee(3,k,:)); mean(position_corrigee(4,k,:))];
55.     stds_corrigee(:,i)=[std(position_corrigee(1,k,:)); std(position_corrigee(2,k,:)); std(position_corrigee(3,k,:)); std(position_corrigee(4,k,:))];
56.     for m=1:4
57.         for n=m:4
58.     correlation_mn=corrcoef(squeeze(position_corrigee(m,k,:)),squeeze(position_corrigee(n,k,:)));
59.     correlations_corrigee(m,n,i)=correlation_mn(1,2);
60.     correlations_corrigee(n,m,i)=correlation_mn(1,2);
61.         end
62.     end
63. end
64.
65. %%
66. %1.2.1 Processus de Poisson
67. lambda=150; %intervalle moyen entre deux appels
68. N=10000; %nombre de clients
69. [t_attente, t_fin]=attente(gen_exp(N,lambda),normrnd(120,20,1,N));
70.
71. hist(t_attente)
72. close all;
73.
74. indices = find(t_fin>36000);
75. t_fin(indices) = [];
76. n=length(t_fin); %nombre de clients en 10 heures
77. t_attente=t_attente(1:n); %temps d'attente de ces clients
78.
79. %Nous ne considérons que les gens qui ont été effecitvement traités dans la
80. %journée.
81.
82. hist(t_attente)
83. proportion_dattente_10minutes=length(find(t_attente>600))/n;
84.
85. %%
86. %1.3.1 Chaîne de Markov
87. close all;
88. clc;
89. X0=randi([-42 42]);
90. N=100000;
91. Z=2*randi([0 1],1,N)-ones(1,N);
92.
93. X=zeros(1,N);
94. X(1)=X0;
95. for k=1:N-1
96.     X(k+1)=X(k)+Z(k);
97. end
98. plot(X)
99.
100. %%
101. %1.4.1 Processus de diffusion
102. close all;
103. clc;
104. dt=0.01;
105. x0=1;
106. N=1000;
107.
108. parameters=[1 1 1 0.01 1;-1 1 1 0.01 1;1 1 0.1 0.01 1;1 2 0.3 0.01 1];
109. %De la forme a b sigma dt x0
110. X=zeros(1,N);
111. X(1)=x0;
112. i=4;
113. for k=1:N-1
114.     X(k+1)=X(k)+(parameters(i,1)*(parameters(i,2)-X(k))*dt+parameters(i,3)*normrnd(0,dt));
115. end
116. %plot(X)
117.
118. %1.4.2 deuxième equation
119.
120. %Lorsque x est proche de 0.5, le facteur ALEATOIRE sera dominant. Lorsque x
121. %est proche de 0 ou 1, le facteur DE GAUCHE le rapproche de 0.5 => On
122. %reste entre 0 et 1
123. %L'amplitude du bruit augmente lorsque x s'approche de 0.5
124.
125. dt=0.01;
126. N=1000;
127. X=zeros(1,N);
128. X(1)=rand;
129. for k=1:N-1
130.     X(k+1)=X(k)+(0.5-X(k))*dt+sqrt(X(k)*(1-X(k)))*normrnd(0,dt);
131. end
132. plot(X)
133.
134.
135. function [time] = gen_exp(n,lambda)
136. time=exprnd(lambda,1,n);
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top