Sunteți pe pagina 1din 6

Referat numrul 1 : Fabricaie asistat de calculator

Anghel Vlad, grupa 1403B

Referat numrul 1 FAC

Metoda de simulare Monte - Carlo

Simularea prin metoda Monte-Carlo se ntlnete des n literatur,


referindu-se la o categorie de metode de rezolvare a problemelor orientate
spre gsirea soluiilor pentru probleme numerice. Primele nceputuri n
aplicarea metodei sunt atribuite lui Lord Rayleigh, care a folosit metoda
pentru a determina soluii aproximative n cazul ecuaiilor cu derivate
pariale. Mai trziu potenialul metodei n rezolvarea unor probleme
complexe a fost pus n valoare de ctre von Neumann i colaboratorii
acestuia.

Referat numrul 1 : Fabricaie asistat de calculator


Anghel Vlad, grupa 1403B

Problema numrul 1: Folosind metoda Monte-Carlo, s se calculeze


valoarea numrului Pi.

Fie un sfert de cerc nscris ntr-un ptrat de raz R = 1.


Formula de calcul pentru valoarea aproximativa a lui PI :
PI = 4*C(P+C)
C = numrul de puncte care aparin cercului
P = numrul de puncte ce aparin ptratului, dar nu i cercului
close all
clear all
clc
n = 1000
while n ~= 1000000,
val = 0;
x = 0;
y = 0;
for i = 1 : n
x = rand;
y = rand;
if x ^ 2 + y ^ 2 <= 1
val = val + 1;
end
end
valpi = 4 * val / n
n = n*10;
end

Soluii: valpi= 3.1040 ; valpi = 3.1188 ; valpi = 3.1425

Referat numrul 1 : Fabricaie asistat de calculator


Anghel Vlad, grupa 1403B

Problema numrul 2: Calculul integralelor definite prin metoda


Monte Carlo:
Enun: Realizai algoritmul i programul de calcul al unei integrale definite
prin metoda
Monte-Carlo. Testai programul, calculnd urmtoarele
integrale definite:

Programul MATLab pentru integrala de la punctul a)


clear all
close all
clc
n = 1000;
val = 0;
while n ~= 1000000,
for i = 1:n
x = rand;
y = rand;
if x * x > y
val = val + 1;
end
end
val / n
n = n*10;
end

Soluii pentru integrala de la punctul a): ans = 0.3440 ; ans = 0.3751 ; ans
= 0.3723
Programul MATLab pentru integrala de la punctul b):
clear all
close all
clc
n = 1000;
val = 0;
while n ~= 1000000,
for i = 1:n

Referat numrul 1 : Fabricaie asistat de calculator


Anghel Vlad, grupa 1403B
x = rand;
y = rand;
if x * x - x + 1 > y
val = val + 1;
end
end
val / n
n = n*10;
end

Soluii pentru integrala de la punctul b): ans = 0.8300 ; ans = 0.9179 ; ans
= 0.9249
Programul MATLab pentru integrala de la punctul c):
clear all
close all
clc
n = 1000;
val = 0;
while n ~= 1000000,
for i = 1:n
x = rand * pi;
y = rand;
if sin( x) / x > y
val = val + 1;
end
end
pi * val / n
n = n*10;
end

Soluii pentru integrala de la punctul c): ans = 1.8096 ; ans = 2.0332 ; ans
= 2.0563

Referat numrul 1 : Fabricaie asistat de calculator


Anghel Vlad, grupa 1403B

Problema numrul 3: Problema tragerii cu arcul


Enun: Un trgtor cu arcul trimite 10 sgei spre o inta i fiecare sgeat are probabilitatea
p = 0.5 de a atinge inta. Care este probabilitatea ca trgtorul s loveasc inta de un numr par
de ori?
close all
clear all
clc
n = 1000;
tinte = 0;
while n ~= 1000000,
for i = 1: n
nr = 0;
for i = 1: 10
x = rand;
if x <= 0.5
nr = nr + 1;
end
end
if mod(nr, 2) == 0
tinte = tinte + 1;
end
end
tinte/n
n = n*10;
end

Soluii:
ans = 0.5030 ; ans = 0.5472 ; ans = 0.5554

Referat numrul 1 : Fabricaie asistat de calculator


Anghel Vlad, grupa 1403B

Problema numrul 4 Problema acului lui Buffon.


Enun: Se consider o familie de linii verticale de lungime infinit la distan 1 unitate n spaiul
(x,y). Dac un ac cu lungimea l>0 este aruncat aleator n planul (x,y), determinai prin Metoda
Monte-Carlo care este probabilitatea ca aceasta s taie cel puin o linie?
clear all
close all
clc
l = 1;
c = 0;
n = 1000;
while n ~= 1000000,
for i = 1 : n
x = rand;
alfa = rand * pi / 2;
pro = l * cos(alfa);
if x + pro >= 1
c = c + 1;
end
end
c/n
n = n*10;
end

Soluii: ans = 0.6430 ; ans = 0.6979 ; ans = 0.7087

S-ar putea să vă placă și