background image

 

1.  Wstęp 

Metodę Monte Carlo wykorzystuje się w celu modelowania matematycznego 

zbyt złożonych procesów. Ważna rolę w metodzie Monte Carlo pełni losowanie 
wielkości które charakteryzują proces. Losowanie musi odbywad się zgodnie z 
rozkładem, który musi byd znany.  
 

2.  Kod programu wykonanego w środowisku Matlab: 

 

% Identyfikacja parametrów modelu układu oscylacyjnego 2-go rzędu

 

Y = @(t,B,w0)(1-exp(-B.*w0.*t)*1./sqrt(1-B.^2).*sin(w0.*t.*sqrt(1-
B.^2)+asin(sqrt(1-B.^2)))); 

 

 

 

t1=0:0.01:4;

 

B1=0.08;

 

w1=6;

 

y = Y(t1,B1,w1);

 

  

 

M = 10^5; 

% Definiujemy liczbę losowań

 

 

 

beta=rand(1,M)+B1; 

% Poszukiwanie punktów w odniesieniu do założonych 

wartości

 

omega=rand(1,M)+w1;

 

  

 

for

 t=1:length(t1) 

% Macierz wartości wyjsciowych 

 

u(:,t) = Y(t-1,beta,omega);   

 

end

 

 

 

for

 t=1:length(t1) 

% Macierz błędów modelu

 

delta(:,t) = u(:,t) - y(t)';    

 

delta1(:,t)=(delta(:,t)).*(delta(:,t)); 

 

end

 

 

 

SQR=zeros(M,1); 

%definiujemy wektor sumy błędów wypełniony zerami

 

 

 

for

 i=1:M

 

    

for

 k = 1:length(t1)

 

    SQR(i) = SQR(i)+ delta1(i,k);

 

    

end

 

end

 

Numer ćw.: 

Nazwa wydziału: 

Ocena: 

Wydział Inżynierii Elektrycznej i 

Komputerowej 

 

Grupa stud. / grupa lab. 

MiDUE 

Nazwa przedmiotu: 

Data wykonania ćw.: 

Metody numeryczne 

 

Temat ćw.: 

Podpis: 

Data oddania 
sprawozdania: 

Metoda Monte Carlo 

 

16.06.13 

Skład zespołu 

Łukasz Kąkol 
Michał Kurek 

background image

 

 

mini=SQR(1); 

%Minimalna wartość sumy kwadratów błędów w losowaniach

 

 

 

for

 j = 1:M

 

    

if

(SQR(j)<mini)

 

        mini = SQR(j);

 

        j1 = j;

 

    

end

 

end

 

% Rysowanie wykresów 

 

plot(t1,y,

'o'

,t1,Y(t1,beta(j1),omega(j1)),

'r'

)

 

xlabel(

't'

);

 

ylabel(

'f(t)'

);

 

 

3.  Otrzymane wyniki 

 

0

0.5

1

1.5

2

2.5

3

3.5

4

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

t

f(

t)