Numer ćw.: |
Nazwa wydziału: |
Ocena: |
Lab 5 |
Wydział Inżynierii Elektrycznej i Komputerowej |
|
Grupa stud. / grupa lab. |
|
|
MiDUE B |
Nazwa przedmiotu: |
|
Data oddania sprawozdania: |
Metody numeryczne. |
|
11.06.2013 |
Temat ćw: |
Podpis: |
Skład zespołu |
Metoda Monte Carlo. |
|
Kurek Łukasz Łabuz Łukasz |
|
|
Wstęp teoretyczny.
Metodę Monte-Carlo stosuje się w różnych działach matematyki numerycznej. Podstawą jej jest modelowanie statystycznego eksperymentu za pomocą środków techniki obliczeniowej i rejestracja charakterystyk liczbowych otrzymanych z tego eksperymentu. Metoda ta stosowana jest do modelowania matematycznego procesów zbyt złożonych (obliczanie całek, łańcuchy procesów statystycznych), aby można było przewidzieć ich wyniki za pomocą podejścia analitycznego. Istotną rolę w metodzie Monte-Carlo odgrywa losowanie (wybór przypadkowy) wielkości charakteryzujących proces, przy czym losowanie dotyczy rozkładów znanych skądinąd (np. z badania procesów prostszych lub niekiedy - z odpowiednio uzasadnionych lub oczywistych założeń). Rozwiązanie zadań rachunkowych za pomocą tej metody jest bliższe doświadczeniu fizycznemu niż klasycznym metodom rachunkowym.
Wykonanie ćwiczenia.
Identyfikacja parametrów modelu układu oscylacyjnego 2-go rzędu w programie Matlab.
clc
clear all
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.05:3;
Bp=0.07;
wp=6;
y = Y(t1,Bp,wp);
% Założone wartości
M = 10^5; % Liczba losowan
% Poszukiwanie punktów względem założonych wartości
beta = rand(1,M)+Bp;
omega0 = rand(1,M)+wp;
% Tworzenie macierzy wartosci wyjsciowych obliczonych dla parametrów modelu
for t=1:length(t1)
u(:,t) = Y(t-1,beta,omega0);
end
% Macież błędów modelu
for t=1:length(t1)
delta(:,t) = u(:,t) - y(t)';
delta_kw(:,t)=(delta(:,t)).*(delta(:,t));
end
% Poszukiwanie najlepszych parametrów modelu w sensie MNK
SQR=zeros(M,1); %zapelnienie wektora sumy bledow modelu zerami
for i=1:M
for k = 1:length(t1)
SQR(i) = SQR(i)+ delta_kw(i,k);
end
end
% Minimalna wartość sumy kwadratów błędów w losowaniach
min=SQR(1);
for j = 1:M
if(SQR(j)<min)
min = SQR(j);
best = j;
end
end
plot(t1,y,'o',t1,Y(t1,beta(best),omega0(best)),'b')
xlabel('t');
ylabel('f(t)');
Wnioski
Wady i zalety metody Monte Carlo:
Zalety:
możliwość obliczenia złożonych całek, gdy bardziej niż precyzja liczy się szybkość,
rosnąca moc obliczeniowa komputerów,
prosta forma zastąpienia rozwiązań analitycznych.
Wady:
eksperyment dla skończonej liczby prób,
wyniki zależą od generatora liczb pseudolosowych.