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:
5
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
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)