28.12.2014 Views

Bruksanvisning för hur man simulerar diskreta Markovkedjor 1 En ...

Bruksanvisning för hur man simulerar diskreta Markovkedjor 1 En ...

Bruksanvisning för hur man simulerar diskreta Markovkedjor 1 En ...

SHOW MORE
SHOW LESS

Transform your PDFs into Flipbooks and boost your revenue!

Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.

STOCKHOLMS UNIVERSITET<br />

Stokastiska processer och simulering I<br />

MATEMATISKA INSTITUTIONEN<br />

Avd. Matematisk statistik VT 2008<br />

Anders Björkström<br />

<strong>Bruksanvisning</strong> för <strong>hur</strong> <strong>man</strong> <strong>simulerar</strong> <strong>diskreta</strong> <strong>Markovkedjor</strong><br />

Innan vi startar så börja med att öppna ett terminalfönster genom att trycka Alt + F2 och i det fönstret<br />

skriva ‘konsole’. Skapa sedan en katalog som heter ‘ProcI’ genom att skriva ‘mkdir ProcI’ i det terminalfönster<br />

som öppnades, och förflytta dig till den katalogen genom att skriva ‘cd ProcI’. (Katalogen<br />

‘ProcI’ kommer nu att finnas i din hemkatalog.) Starta nu Matlab genom att skriva ‘matlab’ i ditt terminalfönster.<br />

Nu är vi säkra på att Matlab kommer att hitta alla filer som vi sparar i katalogen ‘ProcI’.<br />

1 <strong>En</strong> Markovkedja med tre tillstånd<br />

<strong>En</strong>ligt vissa undersökningar kan följden av bokstäver i en svensk text betraktas som en markovkedja med<br />

tre tillstånd, E 0 , E 1 och E 2 , där E 0 är ordmellanrum, E 1 är vokal och E 2 är konsonant. Övergångsmatrisen<br />

för markovkedjan är<br />

⎛<br />

P = ⎝<br />

0 0.25 0.75<br />

0.16 0.01 0.83<br />

0.24 0.47 0.29<br />

Antag att vi vill simulera de första 100 variablerna i markovkedjan. Då behöver vi en funktion och den<br />

kan i Matlab skrivas såhär:<br />

⎞<br />

⎠<br />

function [y]=f(x,u)<br />

if x==0<br />

if u


end;<br />

end;<br />

Skriv denna Matlabtext i en fil som du ger namnet ‘f.m’ och sparar i katalogen ‘ProcI’ i din hemkatalog.<br />

Om vi nu skriver in följande i matlabs ‘Com<strong>man</strong>d Window’:<br />

n=0;<br />

result=[];<br />

x=0;<br />

while ntest<br />

y=y+1;<br />

test=test+P(x+1,y+1);<br />

end;<br />

Storheten P står naturligtvis för kedjans övergångsmatris. Vi förutsätter att denna har blivit definierad<br />

i det program, från vilket funktionen anropas.<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!