% Nedenfor er det gitt kode for eksempler brukt i forelesningene 3. og 5. mars 2021. % Begge eksemplene gjør stokastisk simulering. %% % Vi starter med å simulere tidene T mellom 40 påfølgende fødsler ved en fødeklinikk, som vi antar følger en eksponensialfordeling. % Dette følger fra en antakelse om at tidspunktene for fødslene kan modelleres som en Poisson-prosess med forventning alfa=0.5 per time. %% % Vi trekker n=40 tider mellom fødslene fra eksponentialfordeling med parameter alfa og legger dem i vektoren tidmellom % Legg merke til at matlab parametriserer eksponensialfordelingen ulikt boken. Parameteren my er 1/alfa n=40 alfa=0.5 tidmellom = exprnd(1/alfa,[1 n]) %% % Forventet tid mellom hendelser vil være E(T)=1/alfa. % Med alfa=0.5 skal vi ha forventning 2. % Sjekker at gjennomsnittet er omtrent 2: mean(tidmellom) %% % Tidspunktene for fødslene finner vi ved å summere mellomrommene. % Første fødsel skjer etter tid T11, andre fødsel etter T1+T2, osv. % Lager en vektor med simulerte tidspunkter og plotter disse: tidspkt=cumsum(tidmellom) scatter(tidspkt,zeros([1 n])) %% % I neste eksempel skal vi se hvordan vi kan simulere stokastiske variable fra alle typer % fordelinger ved hjelp av trekninger fra uniform fordeling, og passende transformasjon. % Vi ser på X~uniform(0,1) og den transformerte variablen Y=?ln(1?X). % Starter med å trekke n=10000 ganger fra den uniform fordelingen og legge verdiene i n-vektoren x: n=10000 x=unifrnd(0,1,[1 n]); %% % Vi lager så et normert histogram histogram(x,'normalization','pdf') %% % Vi danner en n-vektor med verdier for den transformerte variabelen Y=?ln(1?X) % og lager et histogram for disse: y=-log(x); histogram(y,'normalization','pdf') %% % Med den gitte transformasjonen, vil Y følge en eksponensialfordeling med parameter 1. % Vi sjekker hvordan sannsynlighetstettheten for eksponensialfordelingen passer med histogrammet: yy=(0:0.1:10); hold on plot(yy,exp(-yy)) %%