i matematikk og statistikk for biologistudenter- praktiske øvelser/dataøvelser . fasit/utkast til...
TRANSCRIPT
Forkurs i matematikk og statistikk for biologistudenter- Praktiske øvelser/dataøvelser Fasit/utkast til innhold TA/HAa/2011
Innholdsfortegnelse Dag 1 ..................................................................................................................................................... 2
Kroppsmål, hårfarge og øyefarge ................................................................................... 2
Volum og radius i en kule ................................................................................................. 7
Buffons nål og π ..................................................................................................................... 12
Bestemme lengden av en sytråd ved hjelp av et rutenett .......................... 15
Beregning av π fra standard normalfordeling .................................................... 16
Dag 2 ................................................................................................................................................... 17
Terningskast .............................................................................................................................. 17
Antall ”øyne” ved kast av en terning ................................................................. 17
Sum av ”øyne” ved kast av to terninger ............................................................ 21
Sum av ”øyne” ved kast av tre terninger .......................................................... 26
Myntkast ........................................................................................................................................ 28
Simulerer fem myntkast .................................................................................................. 29
Tegnestift ................................................................................................................................... 29
Kortstokk ..................................................................................................................................... 30
Dag 3 ................................................................................................................................................... 32
Predasjon og Hollings eksperiment ............................................................................ 32
Dag 4 ................................................................................................................................................... 36
Måling av vinkler på blader .......................................................................................... 36
Dataøvelser ..................................................................................................................................... 36
R som kalkulator ..................................................................................................................... 36
Normalfordelingskurve- integrasjon og derivasjon ........................................ 42
Bootstrap ................................................................................................................................. 45
Fibonacci-tall og spiraler ............................................................................................. 46
Antall forfedre og formødre .......................................................................................... 48
Rett linje ....................................................................................................................................... 49
Logaritmefunksjon ...................................................................................................................... 52
1
Gamma ............................................................................................................................................... 54
Eksponentialfunksjon ............................................................................................................... 56
Trigonometriske funksjoner ................................................................................................. 58
Sirkel............................................................................................................................................. 58
Derivasjon ....................................................................................................................................... 66
Integrasjon ..................................................................................................................................... 68
Uniform fordeling ...................................................................................................................... 69
Poisson-fordeling ...................................................................................................................... 71
Tredimensjonale funksjoner og partiellderiverte .............................................. 72
Numerisk løsning av differensialligninger ............................................................. 74
Kaos og Lorenz-ligningene ............................................................................................... 74
En reise på tusenvis av mil begynner med et skritt. Lao Tzu.
Dag 1 Dere får utlevert et kit som inneholder det som trengs for å utføre oppgavene. 2 m tommestokk, målebånd, Leonardo da Vinci-figuren, knappenåler til ”Buffons nål”, klinkekuler, golfballer, erter, målesylindre i forskjellige størrelser, skyvelær, sytråd, rutenett, etc.
Kroppsmål, hårfarge og øyefarge Kroppsmål Kroppsmål er fundamentet i den globale konfeksjonsindustrien. Innen all biologi er det variasjon, også når det gjelder kroppsmål. Fra egne måledata skaffer vi et datasett som kan brukes til å studere variasjon. Dataene tjener som innledning til normalfordelingskurven og forskjellige typer stokastiske (tilfeldige) variable. Vi tester hypotesene framsatt av Leonardo da Vinci: H0: Favnlengde=kroppslengde, H0: Forhold
å 1.6 … det
H0: Navlen deler kroppen i ”det gyldne snitt” 1.6 … det
Geitekillingen som kunne telle til 10”. ”
2
Variabel Enhet Variabel Høyde cm lengde Lengde fotsåle til navle cm fot.navle Lengde navle til isse cm navle.isse Favnlenge. Fra langfinger til langfinger med utstrakte armer
cm favn
Lengde albue til håndledd cm albuled Lengde albue til spiss av pekefinger
cm albupek
Lengde fot hæl til stortå cm fot Omkrets hals ved snipp cm snipp Hårfarge (naturlig) Svart,brun,rød,
blond haar
Øyefarge Brun,blå, brungrønn,g
oye rønn
Kjønn Mann Kvinne kjonn Måledata skrives anonymt inn på om in s.
ilke typer variable er dette ? svar:Kontinuerlig variable og
ngde, fot.navle og navle.isse
separat ark s nlevereData skrives inn i Excel, lagres som vinci.txt-fil, komma(,) erstattes med punktum(.)Datasettet blir utlevert. Hvdiskrete (kategoriske) variable Hva er spesielt med variablene le? svar:Kovariable cor()
3
#leser inn datasettet aton/bio-
eader=T)
ariabelnavn sett H2010
l=2,ylab="cm",
nn,col=3, ylab="cm",
vle/navle.isse navle.isse
,col=4,cex=2,pch=16)
l=3,lty=2,lwd=3)
ablue.ledd
,col=4,cex=2,pch=16)
l=3,lty=2,lwd=3)
nn),FUN ="mean")
e~favn+albupek+kjonn)
odell) #residualer modell
qline, qqnorm, modellseleksjon
a blir måleenheten for varianse ? svar: cm2
vinci<-read.table("//plkurs/Biomatte/Rfiler/vinci.txt",hattach(vinci) names(vinci) #vvinci #plotter objektet datasummary(vinci) #oppsummering par(mfrow=c(1,2)) #to figurer #boksplot av lengde og favn boxplot(vinci$lengde~kjonn,comain="Kroppslengde") boxplot(vinci$favn~kjomain="Favn") #ratio1 fot.navinci$ratio1<-vinci$fot.navle/#plotter ratio1 plot(vinci$ratio1#linje for gyldne snitt abline(h=(1+sqrt(5))/2,co#ratio2 albue.spiss/albue.ledd vinci$ratio1<-vinci$slbue.spiss/#plotter ratio2 plot(vinci$ratio2#linje for gyldne snitt abline(h=(1+sqrt(5))/2,co#gjennomsnittsverdier fordelt på kjønn aggregate(x=vinci[1:6],by=list(vinci$kjo#lineær modell modell<-lm(lengdsummary(modell) rest<-residuals(mmodell2<-lm(lengde~favn+albupek,data=vinci, subset=kjonn=="M") summary(modell2) #predict(modell),q#testing av forutsetninger for modell Hv
4
Group.1 lengde favn albupek albuled fot snipp 1 K 169.1818 165.9545 42.00000 25.77273 23.63636 31.29091 2 M 178.7500 179.3833 46.08333 27.83333 27.21667 35.78333 lengde favn albupek albuled fot snipp kjonn 1 172.0 172.5 46.0 27.0 29.0 37.0 M 2 165.0 166.4 43.0 26.0 25.0 32.0 K 3 173.0 173.0 41.0 24.0 24.0 29.7 K 4 174.0 171.0 45.0 28.0 23.0 36.0 K 5 171.0 170.0 45.0 27.0 25.5 35.0 K 6 175.0 166.0 40.0 25.0 23.0 28.0 K 7 179.0 167.6 44.0 27.0 23.0 29.0 K 8 180.0 184.5 49.0 30.0 33.0 35.0 M 9 158.0 156.0 35.0 25.0 21.0 27.0 K 10 172.0 167.0 43.0 27.0 24.5 40.0 K 11 177.0 180.0 45.0 27.2 24.5 35.7 M 12 181.0 180.5 46.5 28.8 25.8 35.7 M 13 184.0 184.0 46.0 27.0 25.0 34.3 M 14 178.5 174.8 44.0 27.0 26.0 37.0 M 15 165.0 162.5 42.0 25.5 24.0 28.0 K 16 159.0 157.0 42.0 24.0 23.5 29.5 K 17
170.0 169.0 42.0 25.0 23.5 30.0 K
Hårfarge og øyefarge farge<-read.table("//platon/bio-kurs/Biomatte/Rfiler/farge.txt",header=T) farge summary(farge) plot(farge$oye,farge$haar) #tabell hår og øyefarge datasett H2010 tab<-table(farge$haar,farge$oye);tab barplot(tab,beside=T,legend=attr(tab,"dimnames")$Hair,ylab="Antall", xlab="Øyefarge",col=terrain.colors(4),main="Hårfarge")
5
oye haar kjonn 1 blaa brun K 2 gronn brun K 3 blaa brun K 4 blaa blond M 5 blaa brun M 6 blaa brun M 7 gronn blond M 8 gronn blond K 9 brun brun K 10 blaa brun M 11 brun brun K 12 brun brun K 13 blaa blond K 14 gronn brun K 15 gronn blond K 16 gronn svart M 17 gronn blond K blaa brun gronn blond 2 0 4 brun 5 3 2 svart 0 0 1
Pearsons kjikvadrattest (χ2)for uavhengighet viser om hårfarge og øyefarge er avhengige, dvs. om det er interaksjon mellom dem. #kjikvadrattest chisq.test(tab) Pearson's Chi-squared test data: tab X-squared = 5.6667, df = 4, p-value = 0.2255 Warning message: In chisq.test(tab) : Chi-squared approximation may be incorrect
Vi lager en lineær poisson-modell. Legg merke til at hår ”blond” og øye ”blå” blir brukt som referanse, ”intercept”, og koeffisientestimatene er i forhold til referansen. Husk det er log(frekvens) som er avhengig variabel.
6
#modell B<-as.data.frame(tab) colnames(B)<-c("hår","øye","frekvens") B hår øye frekvens 1 blond blaa 2 2 brun blaa 5 3 svart blaa 0 4 blond brun 0 5 brun brun 3 6 svart brun 0 7 blond gronn 4 8 brun gronn 2 9 svart gronn 1
modell<-glm(B$frekvens~B$hår+B$øye,family=poisson) summary(modell) Call: glm(formula = B$frekvens ~ B$hår + B$øye, family = poisson) Deviance Residuals: 1 2 3 4 5 6 7 8 -0.3097 0.4205 -0.9075 -1.4552 0.8445 -0.5941 0.8921 -1.1605 9 0.7734 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 9.045e-01 5.007e-01 1.806 0.0709 . B$hårbrun 5.108e-01 5.164e-01 0.989 0.3226 B$hårsvart -1.792e+00 1.080e+00 -1.659 0.0971 . B$øyebrun -8.473e-01 6.901e-01 -1.228 0.2195 B$øyegronn 9.214e-15 5.345e-01 1.72e-14 1.0000 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: 17.6980 on 8 degrees of freedom Residual deviance: 7.0209 on 4 degrees of freedom AIC: 33.986 Number of Fisher Scoring iterations: 5
Volum og radius i en kule Fyll 500 ml vann i en 1L glass målesylinder. Hold målesylinderen på skrå for å hindre sprut, og slipp forsiktig opp i en golfball og mål volumet. Gjenta 3 ganger. Trekk fra utgangsvolumet. Plot volum mot antall kuler. Finn stigningstallet. Gjenta for kuler av med annen radius: klinkekuler erter hvor vi bruker en mindre målesylinder. Bestem radius på golfballer, klinkekuler og erter med et skyvelær. Plott volum pr. kule mot radius av kula. Lag det samme plottet på log-log skala.
7
Hva blir stigningstallet? Hva er forventet stigningstall? Hva er skjæringspunktet med y-aksen? Hvordan kan du bruke dette tallet til å estimere pi? Vi antar at golfballene og klinkekulene har forholdsvis jevn størrelse sammenlignet med biologisk materiale e.g. erter hvor man kan estimere gjennomsnittlig radius, eller bønner hvor man kan estimere ekvivalent sfærisk diameter av bønnene. Ekvivalent sfærisk diameter for et irregulært formet objekt er lik diameteren til en kule med likt volum. Diskutér autokorrelasjon. Tilfeldig uttrekk av klinkekuler med forskjellig farge. Lag en tabell hvor du måler volumøkning for hver kule (husk å trekke fra startvolumet med vann) 1ml=1cm3=103 mm3 Golfball
v.golf Klinkekule v.klink
Ert v.ert
Terning V.kube
Startvolum (ml) 500 10 5 50 Kule 1 545 12 5.4 55 Kule 2 585 14 5.8 60 Kule 3 625 16.3 6.0 63 Kule 4 668 17.5 6.15 66 Bestem radius (cm) av henholdsvis golfball, klinkekule, og ert ved hjelp av et skyvelær med en fast skala og en bevegelig noniusskala. Oppkalt etter det latinske navnet til den portugisiske matematikeren og astronomen Pedro Nunes (Petrus Nonius 1502-1578). Skalaen ble også oppdaget av matematikeren Pierre Vernier (1580-1637) og kalles også vernier-skala. Det siste siffer får man når to målestreker står rett overfor hverandre. Lag også et estimat av ”radius” på terningen. Stigningstall og skjæringspunkt med y-aksen (intercept) kan bestemmes med lineær regresjon hvor man benytter en lineær modell: Golfball
r.golf Klinkekule r.klink
Ert r.ert
Terning side.kube
Kule 1 d1 4.18 1.59 0.92 1.60 Kule 2 d2 4.15 1.60 0.8 diag 2.25 Kule 3 d3 4.20 1.61 0.81 2.29 mean.r.xxxx 2.088 0.80 0.42 diameter d (cm) av objektene Beregn gjennomsnittet av de tre målingene: #tre verdier for måling av radius e.g. golfball #r.golf<-c(d1/2,d2/2,d3/2) #mean(r.golf) gjennomsnitts radius r.golf<-c(4.18/2,4.15/2,4.20/2) mean(r.golf) r.klink<-c(1.59/2,1.60/2,1.61/2)
8
mean(r.klink) r.ert<-c(0.92/2,0.8/2,0.42/2) mean(r.ert) antall<-seq(1,4,1) # 1-4 kuler v.golf<-c(45,85,125,168) v.klink<-c(2,4,6.3,7.5) v.ert<-c(0.4,0.8,1,1.15) #plotter volum vs. antall kuler plot(antall,v.golf,col=2,pch=16,cex=2) #lineær modell volum~antall kuler modell.golf<-lm(v.golf~antall) #plotter regresjonslinje abline(modell.golf,lty=2,col=3,lwd=3) summary(modell.golf) #oppsummering av modellen coef(modell.golf) #regresjonskoeffisienter #volum golfball etter regresjonsline sum(coef(modell.golf))
#tilsvarende for r.ert, r.klink og r.kube #klinkekule plot(antall,v.klink,col=2,pch=16,cex=2) modell.klink<-lm(v.klink~antall) abline(modell.klink,lty=2,col=3,lwd=3) summary(modell.klink) coef(modell.klink) sum(coef(modell.klink)) #ert plot(antall,v.ert,col=2,pch=16,cex=2) modell.ert<-lm(v.ert~antall) abline(modell.ert,lty=2,col=3,lwd=3) summary(modell.ert) coef(modell.ert) sum(coef(modell.ert)) #kubus v.kubus<-c(5,10,13,16) plot(antall,v.kubus,col=2,pch=16,cex=2)
9
modell.kubus<-lm(v.kubus~antall) abline(modell.kubus,lty=2,col=3,lwd=3) summary(modell.kubus) coef(modell.kubus) sum(coef(modell.kubus)) For hver av objektene har du funnet en lineær sammenheng mellom volum og antall kuler. Du ser om det er variasjon i volumet og har bestemt en regresjonslinje:
· Sett antall=1 og finn estimert volum fra regresjonslinje: Objekt Estimert volum
fra regresjonslinje (cm3)
Estimert radius (cm)
Radius beregnet fra:
43
Golfball 44.4 2.08 2.196 Klinkekule 2.13 0.80 0.798 Ert 0.47 0.42 0.482 kubus 5.6 ” 1.1” #estimert radius fra kjent volumformel r<-function(v) (v/(4/3*pi))^(1/3) v<-c(44.4,2.13,0.47,5.6) Lag et plot av radius versus volum for de tre objektene est.volum<-c(44.4,2.13,0.47) est.radius<-c(2.08,0.8,0.42) plot(log(est.radius),log(est.volum),pch=16,col=2,cex=2) mod.est<-lm(log(est.volum)~log(est.radius)) summary(mod.est) abline(mod.est,lty=3,col=3,lwd=3) coef(mod.est) (Intercept) log(est.radius) 1.607359 2.868564
10
Beregn stigningen til denne kurven Hvilken verdi finner du for intercept og stigningstall og hva etyr disse tallene ? b Hint: Volum (V) av kule med radius r:
43
Kjenner du volumet kan du beregne radius ved å trekke ut kubikkroten. Kubikkfunksjonen
har en invers funksjon tredjeroten av x
√ Gjør tilsvarende for v.klink, v.ert og v.kube Når du plotter ln(radius) versus ln(volum) så finner du svaret på spørsmålet ved å regne ut følgende etter vanlig regler for regning med logaritmer:
log log4
33 log
43 3 ·
Potensligninger er funksjoner av typen (som også beskriver allometrisk vekst):
· a bhvor og er konstanter kan omgjøres til en lineær funksjon
ved å ta logaritmen på begge sider av likhetstegnet: log log · log · log
som får stigningskoeffisient b og skjæring ved log a.
r eksempel viser Kleibers lov sammenhengen mellom metabolsk Fo
11
rate q0 (målt som varmeproduksjon) og kroppsmasse M hos dyr:
den du kjenner både volum og radius så kan du estimere π
r) 00
Hva tilsvarer intercept og stigningstall i denne lineære
verdiene du
ns nål og π felle hvor de paralelle linjene har
SiVi kan simulere hele forsøket: volum<-function (r) {4/3*pi*r^3} #funksjon for volum r<-seq(0.5,2.5,0.5) #radius
ved forskjellig radius v<-volum(r) #Bestemmer volumplot(log(v)~log(r),pch=16,col=4,cex=2) modell<-lm(log(v)~log(r))
lwd=3) abline(modell,lty=2,col=3,summary(modell) coef(modell)
log(.0000
(Intercept) 1.432412 3log(4/3*pi) [1] 1.432412
modellen ? svar: intercept=log(4/3π) og stigningstall=3. Dette er de teoretiske verdier. Sammenlign medfant.
BuffoVi ser et mer generelt tilavstand B og lengden av nålen L ≤ B. D er avstanden av midten av nålen til linjen. Vi lar nålen falle tilfeldig ned på linjearket. Hva er sannsynligheten for at nålen vil berøre en av linjene ?
12
Både D og vinkelen theta (θ) er tilfeldige variable. Nålen vil berøre linjen hvis:
2
Se definisjonen av sinus. D og θ varierer mellom:
0 2 0
-function (theta) /2*sin(theta)}
n",yaxt="n",xlab="",ylab
pression(0,pi/2,pi))
ealet av rektangelet AR blir:
f< {1curve(f,0,pi,lwd=3,col=4,axes=F,xaxt="="") abline(v=c(0,pi),col=3,lwd=3) abline(h=c(0,0.5),col=3,lwd=3) axis(1,at=c(0,pi/2,pi),labels=exaxis(2,at=c(0,0.5),labels=c("0","B/2")) text(1,0.25,expression(y==frac("L",2)* sin(theta)),col=4,cex=1.5)
Ar
2
Arealet under sinuskurven As blir:
2
Sjekk at dette integralet blir riktig ved å variere verdien av
theta) L/2*sin(theta)
L nedenfor L<-3
nction(g<-fuintegrate(g,0,pi)
13
Sannsynligheten P for at nålen berører en av tverrlinjene blir forholdet mellom arealet under sinuskurven og arealet av rektangelet:
2
2
finner verd n for pi (π): Vi ie
2·
1
kan trykke P som antall suksess k (berøre streken) Vi ut
dividert på antall kast (n):
s at hvis lengden av nålen L er like lang som avstanden Vi er
mellom de paralelle strekene L=B 2 2
tall n er kastet (n) An ål
Antall nåler berører eller krysser linjer (k) #datasett H2010 n<-c(80,50,48,64,55,56) #antall nåler kastet
,ylim=c(3,5))
#antall nåler krysser eller berører linjer k<- c(46,23,29,36,33,29)
av pi pi.estimat<-2*n/k #estimatprint(pi.estimat,dig=3)
ol=2,cex=2plot(pi.estimat,pch=16,cabline(h=pi,lty=2,col=3,lwd=3) m<-mean(pi.estimat);m
,lwd=3) abline(h=m,lty=3,col=4
14
Bestemme lengden av en sytråd ved hjelp av et rutenett Prinsippet fra Buffons nål kan brukes til å bestemme lengden av en tråd, nervecelle eller kystlinje. Kast tilfeldig en sytråd med ukjent lengde ned på et rutenett med parallelle linjer med samme avstand, grid, vi bruker millimeterpapir. Tell antall kryssinger med 1cm-linjene i rutenettet, få med absolutt alle kryssingene, derfor bruker vi tynn sytråd for å få med detaljer. La gjerne snoren havne i buer. Forsøk Antall krysninger Estimert lengde +-SD Fasit (cm) Forsøk 1 16 16 17 16 12.76 ± 0.39 13.6 cm Forsøk 2 23 22 22 20 17.08± 0.99 19.1 Forsøk 3 Forsøk 4 Gjenta eksperimentet flere ganger og lag et estimat av lengden
. Kontroller den virkelige lengden L av hyssingen ved å måden etterpå og sammenlign med det du har fått. Estimat av lengden:
le
4
n cm). an bli bte lin ed en vin
en referansevinkel
i/4*I2*d); L2 SD2<- sd(pi/4*I2*d);SD2
res som antall gunstige utfall dividert på samme måte kan man definere en
Hvor I er antall ganger tråde krysser en grkidlinje og d er
tet sidelengden på gridet (1 med små ret
En buet tråd segmenter m
etrakel i som en rekk
ile je k
forhold t<-1
. dI1<-c(16,16,17,16) L1<-mean(pi/4*I1*d); L1 SD1<- sd(pi/4*I1*d);SD1 I2<-c(23,22,22,20) L2<-mean(p
Vi kan også bruker tråder med forskjellig kjent lengde og antall skjæringer med grid er proporsjonal med lengden til tråden. Lag plot. Sannsynlighet defineantall mulige utfall. På geometrisk sannsynlighet:
15
Beregning av π fra standard normalfordeling Totalarealet under normalfordelingskurven N(μ,σ2) er lik 1. Toppen av kurven er ved x=μ og høyden av toppen er lik /(σ√2π). 1
1· √2
·
Normalfordelingen lett flyttes og skaleres. En slik skalering brukes når man lager standard normalfordeling N(0,1) hvor μ=0
σ=1. nnsynlighetstetthetsfunksjonen f(x) for standard
ogSanormalfordeling:
1√2
· ∞ ∞
Vi vet at arealet under sannsynlighetstetthetsfunksjonelik 1:
n er
1
Skal dette være oppfylt må:
√2
Det vil si:
2
g<-function (x){exp(-x^2/2)} curve(g,-5,5,col=2,lwd=3,main=expression(y==e^-(x^2/2)))
sqrt(2*pi) #dss. kvadratroten av 2pi [1] 2.506628
/2;pi #pi er integralet^2 og /2
a<-integrate (g,-10,10);a 2.506628 with absolute error < 0.00019
pi<-a$value^2[1] 3.141593
16
Arealet under funksjonen er lik √2π.
Dag 2 inger), spillterninger,
skast
er, tell opp og se om det blir jevn fordeling
eten for å få en sekser ? svar:1/6
Kit inneholder kortstokk, mynter (50-ørtegnestifter.
Terning
Antall ”øyne” ved kast av en terning Kast 30 terningav tallene 1-6. Hva er sannsynligh ”Øyne” Antall
k 1 7 2 5 3 5 4 6 5 4 6 3 k<-c(7,5,5 ,4,3)
(k) #antall terninger timert nnsynlighet nt(cbin k,k/30),dig=3)
i ommet for terningskast med en vanlig ed øyne er S={1,2,3,4,5,6}.
se tallene i et terningkast er
,6sum#es sapri d(1/6 #teoretisk verdUtfallsrommet eller prøver
mspillterning med 6 siderSannsynligheten for et av dis1/6.
P16 1,2,3,4,5,6
17
Vi lar X være en diskret stokastisk (tilfeldig) variabel som representerer alle utkomme av terningkastet. Den diskrete variabelen X er derfor uniformt fordelt og summeav san
n nsynlighetene blir lik 1:
P 1
k fordeling av verdier. Alle utfall i utfallsrommet er like sannsynlige. P(X=xi) betyr sannsynligheten for at den tilfeldige variabelen
skal ha ve ien xi, hvor xi er et tall i verdimengden.
Sannsynligheten for å kaste en treer er P(X=3)=1/6 osv. Verdimengden {1,2,3,4,5,6} er veldefinert. Derimot X har ingen enkeltverdi, men har en statistis
X rdSannsynligheten for at terningen viser 4,5 eller 6 blir:
4 616
16
16
12
Sannsynligheten for å få en sekser i et kast er lik 1/6, sannsynligheten for å få to seksere (dobbelt sekser) er: 1/6·1/6=1/36 1/6*1/6 #sannsynlighet for 2 seksere ] 0.02777778 nnsynligheten for ikke å få to seksere ved kasting av to
for
bel 6 i 12 kast
et er dobbel sekser, det andre
[1Saterninger en gang blir 1-1/36=35/36. Hvis vi kaster to terninger 12 ganger blir sannsynlighetenhenholdsvis å få og ikke få to seksere lik: (35/36)^12 #sannsynlighet for ikke dob[1] 0.7131593 1-(35/36)^12 #sannsynlighet for dobbel 6 i 12 kast [1] 0.2868407
Antall kast med to terninger for å få en dobbel sekser. Skal man være 99% sikker trengs minst 164 kast for å få en dobbel sekser n<-seq(1,250,1) #antall kast p<-1-(35/36)^n #sannsynlighet for dobbel 6
=3,col=2,pch=".") plot(n,p,ltyabline(h=1,lty=2,col=3) Det å få en dobbel sekser kan betraktes som en binomial fordeling, hvor det ene utfallutfallet er ikke dobbel sekser.
18
Vi simulerer et terningkast n ganger, og øker n: mple(1:6,1,replace=T) #resultatet av ett terningkast, gjenta
jenta
-replicate(n,sample(1:6,1,replace=T))
b="Antall kast",xlab="Utfall")
Vi ser at når n øker får vi til slutt en jevn fordeling av de seks utfallene. Vi kan regne ut forventet verdi og varianse
sasample(1:6,1,replace=T) #resultatet av ett terningkast, g#gjentar terningkast n ganger n<-100000 #antall kast x<table(x) #tabell over utfallene av terningkast x 1 2 3 4 5 6 16734 16748 16537 16652 16772 16557
ink",ylabarplot(table(x),col="p
Variansen for en diskret stokastisk variabel blir: μ
toere, Vi har n1 være antall ganger vi får enere, n2 antall
osv. Da vil N være lik det totale antall kast:
kan nå i stedet age et histogram hvor den totale bredden i
e og høyde av hver stolpe
Vi ler lik 1 (X=[0,1]), og summen av arealene av alle stolpene histogrammet (A) skal bli lik 1. Arealene av enkeltstolpene kaller vi ai , hvor bi og hi er henholdsvis bredd
19
6 1
Siden summen av breddene av stolpene må bli lik 1 (hver stolpe bredde 1/6) så må høyden hi av hver stolpe må være (ni·6)/N.
· 6
Husk at sannsynligheten for å få 1 i et kast er n1/N, tilsvarende arealet av stolpe 1, sannsynligheten for 2 er n2/N tilsvarende arealet av stolpe 2 osv.
x<-replicate(n,sample(1:6,1,replace=T)) #lager en matrise M av tabellen
en av hver stolpe
Vi får nå et tilnærmet kvadrat, hvor lengden langs henholdsvis x- og y-akse blir lik 1. Arealet av kvadratet som stolpene danner blir 1·1=1 summen av sannsynlighetene for utfallene {1,2,3,4,5,6}. #forventet verdi M$EX<-as.numeric(M[,1])*M[,3]
n<-100000 #antall kast #gjentar terningkast n ganger
M<-as.data.frame(table(x)) N<-sum(M[,2]);N #antall kast M$p<-M[,2]/N;M #beregner sannsynligheter for utfall 1-6 m(M$p) #summerer sannsynlighetene, sum=1su
M$h<-(M[,2]*6)/N; #høydM$x2<-seq(1/6,1,by=1/6);M barplot(M$h,space=0,col="lightblue") x Freq p h x2
67 1 1 16666 0.16666 0.99996 0.166662 2 16722 0.16722 1.00332 0.3333333 3 3 16668 0.16668 1.00008 0.5000000 4 4 16570 0.16570 0.99420 0.6666667 5 5 16535 0.16535 0.99210 0.8333333 6 6 16839 0.16839 1.01034 1.0000000
20
EX<-sum(M$EX);m #forventet verdi E(X) [1] 3.50261 #varianse M$Ex2<-((as.numeric(M[,1]))^2)*M[,3] varX<-sum(M$Ex2)-EX^2; varX #varianse var(X) M [1] 2.919023
Det vil si forventet verdi er ca.3.5, midt mellom 1 og 6
-lik
e utfall (62). ger med to forskjellige farger for å se dette.
er er
l. Det er det terning kastes tre ganger eller tre terninger en
for k:
Sum av ”øyne” ved kast av to terninger Kaster 2 terninger og beregner summen. Skriver tallene fra 2112 på et ark og setter en strek for hver gang summen blir tallet.
Kaster man to terninger er det 36 muligBruk terninUtfallsrommet for summen av to terningS={2,3,4,5,6,7,8,9,10,11,12}
sting av 3 terninger gir 63=216 mulige utfalKasamme om en gang. vis n1 er mulighetene for første valg, n2 er mulighetene Handre valg osv, blir det totale antall valg li
· · ···· Tabellen viser mulige utfall (n1·n2=62)=36 ved å kaste to terninger, en rød og en svart, hver med 6 muligheter: 1,1 2,1 3,1 4,1 5,1 6,11,2 2,2 3,2 4,2 5,2 6,21,3 2,3 3,3 4,3 5,3 6,31,4 2,4 3,4 4,4 5,4 6,41,5 2,5 3,5 4,5 5,5 6,51,6 2,6 3,6 4,6 5,6 6,6Hva er sannsynligheten for å kaste summen 6 for to terninger ?
t
ller
Vi ser at sannsynligheten blir lik 5/36=13.9%. Vi ser også ade gunstige utfallene for summen av to terninger ligger på en diagonal linje. Hva er sannsynligheten for å få summen 7 ved å kaste to terninger ? 6/36=16.6%, og dette er det utfallet som forekommer oftest når man beregner summen ved å kaste to terninger, mens sum 2 og 12 er mest sjelden (1/36).
a s g en for å få n antall ”øyne” eVi k n finne annsynli hetprikker i sum for 2≤n≤12 ved å kaste to terninger, og som blir lik (se figuren over):
21
6 | 7|36
/6, er:
eksere [1] 0.02777778 Sannsynligheten for ikke å få to seksere ved kasting av to terninger en gang blir 1-1/36=35/36. Hvis vi kaster to terninger 12 ganger blir sannsynligheten for henholdsvis å få og ikke få to seksere lik: (35/36)^12 #sannsynlighet for ikke dobbel 6 i 12 kast [1] 0.7131593 1-(35/36)^12 #sannsynlighet for dobbel 6 i 12 kast [1] 0.2868407
Antall kast med to terninger for å få en dobbel sekser. Skal man være 99% sikker trengs minst 164 kast for å få en dobbel
n<-seq(2,12,1) # muligheter for sum av to terninger p<-(6-abs(n-7))/36 #sannsynlighet plot(n,p,pch=16,col=4,cex=2)
Sannsynligheten for å få en sekser i et kast er lik 1e (dobbelt sekser) sannsynligheten for å få to sekser
1/6·1/6=1/36 1/6*1/6 #sannsynlighet for 2 s
sekser. n<-seq(1,250,1) #antall kast p<-1-(35/36)^n # sannsynlighet for dobbel 6 plot(n,p,lty=3,col=2,pch=".",)
y=2,col=3) abline(h=1,lt
22
Sum Strek for hvert utkomme Totalantall 2 3 4 5 6 7 8 9 10 11 12 Tabell s m av to terninger
muler ng av sum av øyne ved o terningkast
kan s mulere summen av to terni kast: av o terninger ampl (1:6,2,replace=T);a a)
r fler ganger
eregner summen av to terninger
) <2 eller >12
st(x,breaks=1:12,col="purple") m av to terninger")
u Si i t
Vi i ng#Sum ta<-s esum(#gjenta skriptlinjene ovenfo e #B#Gjentar terningkastene n ganger vha replicate n<-10000 x<-replicate(n,sum(sample(1:6,2,replace=T))#sjekker at ingen tallmin(x) max(x) #lager et histogram over resultatene hiplot(table(x),col=4,lwd=4,main="Su
23
barplot(table(x),col=4,xlab="Sum",main="Sum av to terninger")
#Beregner forventning og varianse #lager en dataramme av summene tab<-as.data.frame(table(x));tab antall<-sum(tab[,2]);antall #antall kast tab$prob<-tab[,2]/antall;tab #beregner sannsynligheter sum(tab$prob) #summerer sannsynlighetene, sum=1 [1] 1 #ganger x med sannsynlighet
b$xprob<-tab[,3]*(2 2) rdi E(X)=ca. 7
ta :1EX<-sum(tab$xprob);EX #forventet ve[1] 7.016 tab$Ex2<-tab[,3]*(2:12)^2
24
VarX<-sum(tab$Ex2)-EX^2;VarX #beregner Var(X)
eq prob xprob Ex2
8 0.8680 8.6800
lir ca. 7 og variansen er ca. 5.8
[1] 5.766944 tab x Fr1 2 263 0.0263 0.0526 0.1052 2 3 557 0.0557 0.1671 0.5013 3 4 813 0.0813 0.3252 1.3008 4 5 1092 0.1092 0.5460 2.7300 5 6 1412 0.1412 0.8472 5.0832 6 7 1671 0.1671 1.1697 8.1879 7 8 1416 0.1416 1.1328 9.0624
3 0.9837 8.8533 8 9 1093 0.109 868 0.0869 10
10 11 543 0.0543 0.5973 6.5703 11 12 272 0.0272 0.3264 3.9168
Vi ser at forventet verdi b
μ
sannsynligheten (kumulativ å summere punktsannsynlighetene:
Vi kan se på den kumulativefordelingsfunksjon F(x) ved
F<-numeric(0) #tom matrise for kumulativ sannsynlighet F[1]<-tab$prob[1] #startverdi sannsynlighet for sum 2 for (i in 1:10){ F[i+1]<-F[i]+tab$prob[i+1] } plot(2:12,F,pch=16,col=4,cex=1.5,xlab="sum",ylab="Kumulativ
sannsynlighet", main="Sum av to terningskast") barplot(F,col="lightgreen",ylab="F(x)",main="Sum av to terningkast")
25
m av ”øyne” ved kast av tre terninger ster 3 terninger og beregner summen. Skriver tallene fra 3- på et ark og setter en strek for hver gang summen blir lik llet.
SuKa18taSum 3 terninger Strek for hvert utfall Totalantall 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #Kaste 3 terninge og beregne summen av dem
le(1:6,3,repl e=T) r
samp ac
26
#Hadde vi ikke ha replace ville noen av t llene bli vunnet egn summen av re terninger sample(1:6,3, place=T)) nta dette en kke ganger med replicateeplicate(30,s (sample(1:6,3,replace=T) ) kker at ingen r mindre enn 3 og større enn 18
n(x)
Simulering av sum av ”øyne” for tre terninger
Vi skal kaste 3 terninger og beregne summen av dem #Kaste 3 terninger sample(1:6,3,replace=T) #Beregner summen av de 3 terningene sum(sample(1:6,3,replace=T)) #Gjentar terningkastene n ganger n<-10000
-replicate(n,sum(sample(1:6,3,re ace=T)))
urple")
tt afors#Ber tsum( re#gje re x<-rSje
um e
) #
mimax(x) ?replicate x<-replicate(10000,sum(sample(1:6,3,replace=T))) hist(x,breaks=2:19,col="purple")
x< pl#sjekker at ingen tall <3 eller >18 min(x) max(x)
over resultatene #lager et histogramhist(x,breaks=2:19,col="p
27
Myntkast Bernoulli- og binomial fordeling Kast 5 stk. 50-øringer og se på fordeling av kron og mynt Slipp tegnestifter fra samme høyde n ganger. Bernoulli-eksperiment hvor spissen peker opp = 1 og spissen peker ned = 0. Sammenlign slipp av tegnestiftene på en glatt bordplate og et stykke tøy. Deretter simuleringer i R
ster 5 mynter et antal ganger. Noterer tallene 0-5 på et hvor mange kron man får i hvert kast og dette n strek.
Ka lark og tellernoteres med e Kron antall 0 14 1 81 2 139 3 124 4 69 5 14 or eksempel antall kroF#R
n for alle lag ltat av 5 st for alle lag, antall kron
c(14,81,139 4,69,14) plot(m,name g=n,col="lightblue",ylab="Antall kron") rplot regner et m å sannsynlighet d å divider å antall kast m(m) rplot(m/sum(m),names.arg=n,col="lightgreen",ylab="Sannsynlig
esu-0:5
myntkan<m<- ,12bar s.ar?ba#Be ål p#ve e psubahet")
28
Simulerer fem myntkast Vi skal nå simulere fem myntkast 10000 ganger og se om det stemmer med vårt praktiske forsøk #Simulerer myntkast og finner antall kron med 5 myntkast sample(0:1,5,replace=T) #Finner antall kron sum(sample(0:1,5,replace=T))
jentar dette n gang r -10000 -replicate(n,sum(sample(0:1,5,replace=T)))
)
Tegnestift Kaster 5 tegnestifter et antall ganger. Noterer tallene 0-5 på et ark, og teller hvor mange ganger man får stiften opp.
#G en<x<#lager histogram over resultatene hist(x,breaks=-1:6,col="orange",main="Antall kron ved 5 myntkast"#Teller opp hvor mange mynter av hver type N<-table(x);N barplot(N,col="pink",las=3)
29
Antall peker opp Antall 0 6 1 49 2 100 3 128 4 77 5 23 #datasett H2010 k<-c(6,49,100,128,77,23) barplot(k,col="pink")
rtstokk ste hjerter i kor kken a er sannsynlighete or at første kort som trekkes ut av en
jerter ? å trekke før du kommer til første
20 ganger (5 grupper kan gjøre det 20 ganger og noter tallene på tavla).
KoFør tsto
n fHvkortstokk er en hNoter hvor mange kort du mhjerter, og gjør dette
Forsøk Antall kort før første hjerter
Forsøk Antall kort før første hjerter
1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20
30
13 hjerter kan stokkes inn på 5213 forskjellige måter. Første
hjerter ligger som nummer k, de resterende hjerter ligger som
m nnsynli fo5212 ulige plasser. Sa gheten r gunstig X=k
52125212
20 #antall kort man trekker matrix NA,n,1) #matrise for lagring av sannsynligheter (i in 1:n){ ]<-cho se(52-i,12)/choose(52,
eq(1, 0,1) t(k,P, ch=16,col=4,cex=2)
n teoretiske fordelingen som blir hjerter i 100 forsøk
]<-(choose(52-i,12)/choose(52,13))*100} ]
[3,] 14.52941176 [4,] 10.97118848 [5,] 8.22839136 [6,] 6.12752548 [7,] 4.52904057 [8,] 3.32129642 [9,] 2.41548830 [10,] 1.74139855 [11,] 1.24385610 [12,] 0.87980066 [13,] 0.61586046 [14,] 0.42636493 [15,] 0.29172338
n<-P<- (for P[i o 13) } k<-s
o2ppl
Sammenlign med de#Sannsynlighet antall kort før førsteP[iP [,1 [1,] 25.00000000 [2,] 19.11764706
31
Dag 3
Predasjon og Hollings eksperiment r runde sandpapirbiter, sovemaske, stoppeklokke enkefiltrerark. onen med sovemaske skal ved hjelp av bare en inne sandpapirbiter spredt utover et stort
laget teller sandpapirbiter og legger dem på benkepapiret. ker ved bruk av en finger som må løftes for hver søk. Den ene fingeren skal ikke trekkes langs
pirflaten, men må løftes opp fra arket hver gang den deltar søket (”søkestrategi”).
- Straks ”byttet” er funnet kan det brukes flere fingre for å fte og putte byttet over i den andre hul hånd (behandling av
bytte). med å bruke en finger forsetter. søk kan for eksempel være 20 sekunder, og alle tall
r fanget per
rt og antall gjenfunnet i
et), hvor andre på laget legger ut
get bytte per minutt.
Kit inneholdeog et stort b- Forsøkspersfingerspiss ffiltrerark. - De andre påtilfeldig ut - Predator søgang et nytt pa i
lø
- Letingen- Tid for multipliseres med 3 for å finne antall byttedyminutt. - Antall sandpapirbiter fra statidsintervallet noteres. - Forsøket gjentas med forskjellig antall sandpapirbiter (byttedyrtetthsandpapirbiter. Velger laget en annen søketid må antall byttdyr regnes om til antall fan Antall byttedyr
Antall per minutt
Antall byttedyr Antall fanget per minutt
100 45 49 48 50 80 45 48 43 40 60 32 30 35 36 40 22 20 18 17 20 12 3 3 13 bytte<-rep(seq(20,100,20),each=4) fanget<-c(12,3,3,13,22,20,18,17,32,30,35,36,45,48,43,40,45,49,48,50) plot(bytte,fanget,col=2,ylim=c(0,50),xlim=c(0,100)) modell<-nls(fanget~SSlogis(bytte,Asym,xmid,scal)) summary(modell) x<-seq(0,100,1) y<-predict(modell,list(bytte=x))
32
lines(x,y,col=3,lwd=3)
on til å trekke kurve e.g. SSmicmen, SSlogis, SSasymp litt avhengig av hvilket resultat gruppen får. Funksjonelle responskurver type I, II, og III (Hollingkurver), Michaelis-Menten kurver etc. er viktige for å kunne beskrive responsen i biologiske og økologiske systemer, bl.a. ved predasjon. Funksjonell respons er raten som en predator dreper bytte. Slike hyperbolske kurver er kjent fra Michaelis-Menten enzymkinetikk hvor reaksjonshastighet plottes mot substratkonsentrasjon. Monodkurve (1942) har substratkonsentrasjon på x-aksen og spesifikk vekstrate på y-aksen, og har samme form som Michaelis-Menten kurven. Funksjonell responskurve for Nicholson-Bailey-modell beskriver relasjonen mellom antall verter og tettheten av parasitter. Kurven er også et resultat av C.Hollings simulerte ”predator-byttedyr” eksperiment fra 1959 basert på gjenfinning av sandpapirbiter.
Bruk ikke-lineær regresj
Type I funksjonell respons er den enkleste, hvor b er en annen type bytte.
Tre forskjellige typer Holling kurver hvor B er byttedyrtettheten og n/t er antall byttedyr spist per tidsenhet:
33
Hollings eksperiment går ut på at en forsøksperson skal finne igjen sandpapirbiter bare ved berøring med fingersputen å se. Sandpapirbiter legges ut på et stort hvitt ark. Mandekker til øynene og søk foretas bare med fingerspissene i en
issene,
gitt tidsperiode. Antall sandpapirbiter per arealenhet er uavhengig variabel, x, varieres under eksperimentet og man teller opp hvor mange man kan finne igjen i et gitt tidsrom (avhengig variabel, y), og disse plottes mot hverandre. Total tid t er summen av søketid (ts) og handteringstid (th):
·
hvor h er handteringstid per bytte.
1 1 1
1
1
/h.
Hvis konsentrasjonen av bytterdyr B er meget lag så vil aHh bli liten og n/t er proporsjonal med aB, slik det er i den enkleste Lotka-Volterra modellen med type I respons. Hvis byttedyrkonsentrasjonen er stor så vil n/t nærme seg 1Vi har den maksimale spiseraten k=1/h:
1
Halvmetningskonstanten D=1/ah 1
Vi dividerer teller og nevner på ah og får Hollings funksjonell responstype type II
1
Hollings type III responskurve er sigmoid:
.8 a<-0h<-0.8 D<-1/(a*h) k<-1/h
34
curve(a*x,0,2,xlab="Byttetetthet", ylab="Antall byttedyr drept per predator",col=2,lwd=3, main="Funksjonell responskurver") curve(k*x/(D+x),0,2,add=T,col=3,lty=2,lwd=3)
,col=4,lty=3,lwd=3) legend("topleft",c("Type I","Type II","Type III"),lty=1:3,col=2:4,lwd=c(3,3,3))
kommer tydeligere fram hvis man plotter et versus antall byttedyr drept per predator per
byttedyr
nskurver") rve(k*x/(D+x)/x,0,2,add=T,col=3,lty=2,lwd=3)
curve(k*x^2/(D^2+x^2)/x,0,2,add=T,col=4,lty=3,lwd=3) legend("bottomright",c("Type I","Type II","Type III"),lty=1:3,col=2:4,lwd=c(3,3,3))
curve(k*x^2/(D^2+x^2),0,2,add=T
Forskjellenetetthbyttdyr
byttedyr a<-0.8 h<-0.8 D<-1/(a*h) k<-1/h
"Antall curve((a*x)/x,0,2,xlab="Byttetetthet", ylab=drept per predator per byttedyr",col=2,lwd=3,lim=c(0,0.8),main="Funksjonell respoycu
35
Dag 4
Måling av vinkler på blader Vi måler vinkelen sidenerver for blad i forhold til midtnerven
grader.
R som kalkulator
på forskjellige bladtyper. Omregning vinkler radianer-
Dataøvelser
Symbol Betydning * Multiplikasjon / Divisjon + Addisjon - Subtraksjon ^ Potens, opphøyd i < Mindre enn > Større enn <= Mindre enn eller lik >= Større enn eller lik == Logisk er lik %% Rest etter deling, modulo %/% Heltalls delen
36
Funksjon Betydning log(x) Logaritmen til x med grunntall e exp(x) Eksponensialfunksjon. Antilog x (e^x) log10(x) Logaritmen til x med grunntall 10 sqrt(x) Kvadratroten til x abs(x) Absoluttveriden til x factorial (x) x-fakultet (x!) (1·2·3·4·5…x cos(x) Cosinus til x (i radianer) sin(x) Sinus til x (i radianer) tan(x) Tangens til x (i radianer) acos(x),asin(x),atan(x) Inverse trigonometriske funksjoner acosh(x),asinh(x) Inverse hyperbolske trigenometriske f. floor(x) Største integer <x ceiling(x) Minste integer >x choose(n,x) Binomialkoffisienter n!/x!(n-x)!) gamma(x) (x-1)! for integer x (Γx) lgamma(x) Naturlig logaritme til gamma x round(x,digits=0) Avrunder verdien til x til en integer trunc(x) Nærmeste integer til x mellom x og 0 runif(n) Lager n tilfeldige tall mellom 0 og 1 signif(x,digits=6) Gir x med 6 signifikante tall sum(variabel) llene i en variabel Summerer talength(variabel) Finner lengden av en datavektor max(variabel) Finner maksverdien i en datavektor range(variabel) Finner både maks- og minimumsverdi
37
Operasjon Betydning max(x) Maksimumsverdien i vektoren x min(x) Minimumsverdien i vektoren x sum(x) Summerer alle tallene i datavektoren x mean(x) Beregner aritmetisk middeltall i x median(x) Medianverdien i x range(x) Vektoren min(x) og max(x) var(x) Variansen til x sort(x) Sorterer x rank(x) Rangerer verdiene i x order(x) Heltallsvektor inneholder permutasjon av sortert x i
stigende orden quantile(x) Minimum, 1.kv,median, 3.kv., maksimum colMeans(x) Kolonnemiddeltall av data i matrisen x colSums Kolonnesummen av data i matrisen x colVars Kolonnevariansen av data i matrisen x rowSums Radsummene av data i matrisen x rowMeans Radmiddeltallene av data i matrisen x rowVars Radvariansen av data i matrisen x cor(x,y) Korrelasjon mellom vektor x og y length(x) Lengden av datavektoren x diff(x) Beregner differansen av x cumsum(x) Beregner kumulativ sum i x sd(x) Standardavvik i vektoren x #Addere 8+16 [1] 24
he#Subtra re
us g
sere
33
33333
25-6 [1] 19
Minus min-5-(-2)
ir pluss
[1] -3 #Dividere 56/7 [1] 8 3/4 [1] 0.75
i#Multipl 7*8 [1] 56 2/3*1/8 [1] 0.0833332*2/3 ] 1.3[1
6*4/5
38
[1] 4.8 atrot
)
)
jon
1,5,1);x
ple(x,replace=T);xb #gjenta denne og se resultat
,"N"),3);y1 " "J" "N" "J" "N" fra 1 til 20
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 e fra 1 til 10 opphøyd i andre
4 9 16 25 36 49 64 81 100 logaritmer for 10^-4 til 10^4
(10^(-4:4)) -3 -2 -1 0 1 2 3 4
kasjonstabellen x #objekt med tallene 1-10 )<-x;x #navn på objektene lik 1-10
emultiplisering %o% 7 8 9 10 7 8 9 10
50 60
70 72 80 81 90
#Kvadrsqrt(9) [1] 3 sqrt(8[1] 2.828427 3√729:
/3729^(1[1] 9
s #Poten2^3 [1] 8 4^4 [1] 256
allsdivis#Helt32%/%5[1] 6 #Resampling x<-seq([1] 1 2 3 4 5 xb<-sam[1] 5 5 2 1 5 y1<-rep(c("J"[1] "J" "N
ne#talle1:20 [1] 1 2 3 #tallen(1:10)^2 [1] 1 #Briggskelog10[1] -4
#Den lille multiplix<-1:10;
xnames(x%o%x #matris 1 2 3 4 5 61 1 2 3 4 5 62 2 4 6 8 10 12 14 16 18 20 3 3 6 9 12 15 18 21 24 27 30
20 24 28 32 36 40 4 4 8 12 165 5 10 15 20 25 30 35 40 45 6 6 12 18 24 30 36 42 48 54 7 7 14 21 28 35 42 49 56 8 8 16 24 32 40 48 56 64
18 27 36 45 54 63 72
63
9 9 10 10 20 30 40 50 60 70 80 90 100
39
1 mol karbon har masse 12 g og tilsvarer Avogadros tall med
r massen til et
s. 1.99·10-23 g
atomer er lik 6.023·10 atomer. Hva blikarbonatom ?
23
12/6.023E23 [1] 1.992363e-23
dv Eksempler på transcendentale tall:
1! 2.7182818284 ….
3.1415926535 ….
4 atan 11
2 · 1 113
15
17
19 0.7853982 …
kke. som også blir kalt Leibniz re
ln 21
0.6931472 …
#Det naturlige tallet e som en sum n<-seq(0,100,1)
ia
l(n))
atan(1) [1] 0.7853982 pi/4 [1] 0.7853982 n<-seq(0,1E6,1) sum((-1)^n*1/(2*n+1)) [1] 0.7853984 #ln2
[1] 0.6931467 log(2)
t tall
sum(1/factor[1] 2.718282 #sammenlign med e xp(1) e
[1] 2.718282 #Leibniz rekke
n<-seq(1,1E6,1) sum((-1)^(n-1)/n)
[1] 0.6931472
Komplekse tall #kompleksz<-2+3*1i;z
Re(z) #reell del
40
[1] 2 Im(z) #imaginær del
odulus (lengden)
ll og imaginær akse
9,cex=2,col=2,ylim=c(0,4),xlim=c(0,4),main="z=2+3i
3)
g z1
19,cex=2,col="red",ylim=c(0,5),xlim=c(0,5),main="z=
ws(0,0,2,3) col=4)
z3<-z+z1 points(z3,pch=19,cex=2,col=3) arrows(0,0,5,5)
[1] 3 Mod(z) #m[1] 3Arg(z)
.605551 #polarvinkel mot klokka
[1] 0.9827937 #imaginært tall med reez<-2+3*1i
z,pch=1plot(") abline(v=2,h=3,col=
,3) arrows(0,0,2
#Summen av to komplekse tall z oz<-2+3*1i z1<-3+2*1i plot(z,pch=2+3i + z1=3+2i") arropoints(z1,pch=19,cex=2,arrows(0,0,3,2)
41
Normalfordelingskurve- integrasjon og derivasjon Vi ser på normalfordelingskurven og den tilhørende deriverte. Vi ser at når den deriverte er lik 0 har vi et maksimumspunkt. Den deriverte viser tangenten til normalfordelingskurven. #Normalfordelingsfunksjon og den deriverte sigma<-0.5 #standardavvik my<-0 #gjennomsnitt f<-function (x) {(1/(sigma*sqrt(2*pi))*(exp(-1/2*((x-my)/sigma)^2)))}
ot(f,-3,3,lwd=3,col=2,im=c(-1,1),main="Normalfordeling")
førstederiverte col=4,lwd=3,add=T)
c("f(x)","f´(x)"),lty=c(1,1),lwd=c(3,3),col=
plyl
#den deriverte derivert<-D(expression((1/(sigma*sqrt(2*pi))*(exp(-1/2*((x-my)/sigma)^2)))),"x") #Lager en funksjon av den deriverte fderivert<-function(x) {eval(derivert)} #plotter funksjonen for dencurve(fderivert,-3,3,#Setter inn hjelpetekst legend("topright",c(2,4))
42
#Normalfordelingen via dnorm f<-function(x) {dnorm(x)} curve(f,-5,5,ylim=c(0,1),col=2,lwd=3,xlab="",ylab="") #pnorm g<-function (x) {pnorm(x)} curve(g,-5,5,col=4,lwd=3,add=T) legend("topleft",c("dnorm (f(x))","pnorm (g(x))"),lty=c(1,1),lwd=c(3,3),col=c(2,4))
43
Sannsynlighetstetthetskurven f(x) (dnorm) gir ikke et mål på sannsynligheten, men det gjør g(x) (pnorm)som omfatter området [0,1], hvor pnorm er det kumulative integralet av dnorm. Formel f(x) for sannsynlighetstetthetskurven for standard normalfordeling
1√2
Vi kan integrerer sannsynlighetstetthetskurven fra -∞ til x og dette gir kumulativ sannsynlighetsfunksjon
Integralet av sannsynlighetstetthetskurven blir lik 1, det vil si arealet under normalfordelingskurven.
1
g<-function (x) {pnorm(x)} curve(g,-5,5,col=4,lwd=3,ylab="p",main=expression(p==g(x))) k<-function (x) {qnorm(x)} curve(k,0,1,col=3,ylim=c(-5,5),lwd=3,ylab="x",xlab="p",main=expression (x==g(p)^-1))
Sannsynlighetsfordelingen pnorm (t.v.) og kvantilene qnorm (t.h) er inverse funksjoner, p=g(x) og x=g(p)-1. p-kvantilene til sannsynlighetsfordelingen g(x) en stokastisk variabel x i området [-∞,∞]
44
Bootstrap Vi skal bestemmee av forventet verdi og standardavvik ved bootstrap, fra et kjent datasett og se hvilket estimat vi får av parameterverdiene. La oss velge normalfordelte gutter eller jenter med forventet verdi og standardavvik som dere har funnet fra deres egne målinger. Her er det brukt 179 cm og sd=5.1 cm som eksempel. Deretter resampler vi dette datasettet med tilbakelegging, og beregner gjennsomsnitt og standardavvik. Til slutt tar vi gjennomsnitt av alle verdiene og ser om de er et godt estimat, noe vi finner. n<-1000 #antall simuleringer X<-rnorm(n,mean=179,sd=5.1) #datasett fra normalfordeling A<-data.frame(mean=rep(NA,n),sd=rep(NA,n)) #tom matrise for (i in 1:n){ X2<-sample(X,replace=T) A[i,1]<-mean(X2) A[i,2]<-sd(X2) } hist(A$mean,col="lightgreen",xlab="Høyde (cm)",main="E(X)") EX<-mean(A[,1]) SD<-mean(A[,2]) cat("Forventet verdi",EX,"\n") Forventet verdi 179.3085 cat("Estimert standardavvik",SD,"\n") Estimert standardavvik 5.088996
Likelihood og høyde Vi har likelihood (LL) for en normalfordeling for n observasjoner Xi.
|μ,1
√2
45
Vi får –loglikelihood:
|μ, · ln12 ln 2
μ2
Den første delen av uttrykket er ikke avhengig av gjennomsnittet slik at minimum av -2loglikelihood blir minimaliseres av en kvadratsum.
sett fra normalfordeling
,k,1)
gma)+0.5*log(2*pi))+sum(X-^2)
e="l",col=4,lwd=3,xlab="Høyde g(likelihood)")
Ved lave verdier av n ser vi at minimumspunktet flytter seg og kan beskrives av et konfidensintervall.
onardo av Pisa (Fibonacci) utviklet en tallrekke hvor neste gående. I er den ene veien og 89
Vi velger ut n=100 normalfordelte høyder: n<-100 X<-rnorm(n,mean=179,sd=5.1) #datasigma<-5.1 k<-40 negLL<-matrix(NA,k,1) #tom matrise H<-matrix(NAH[1]<-160 for (i in 1:k){ negLL[i]<-n*(log(siH[i])^2/(2*sigmaH[i+1]<-160+i } plot(H[1:k],negLL,typ(cm)",ylab="-loabline(v=179,lty=2,col=3)
Fibonacci-tall og spiraler Letall i rekken er summen av de to foresolsikkeblomsten finner man 55 spiralden andre veien, ananas har tilsvarende 8 og 13. Furukongle
46
har 5 spiraler den ene veien og 8 den andre. Dette er tall soman finner igjen blant Fibonacci-tallene. Hvor mange finner du ? Tell antall spiraler som går den ene og andr
m
e veien fra len prestekragen og furukong
De 20 første Fibonacci-tallene er:
-20 #antall Fibonacci-tall ng av tall
i-tall
ci-tall 1 1 2 3 5 8 13 21 34 55 89 144
2584 4181 6765 10946
n){ ]
00000 2.000000 1.500000 1.666667 1.600000 1.625000 1.615385 1.619048 7647 1.618182 1.617978 1.618056 1.618026 1.618037 1.618033 1.618034
n<A<-numeric(n) #tom matrise for lagriA[1]<-1 #første Fibonacci-tallA[2]<-1 #andre Fibonacci-tall #løkke for beregning av Fibonaccfor (i in 2:n) { A[i+1]<-A[i]+A[i-1] } A #skriver ut Fibonac[1][13] 233 377 610 987 1597
Vi kan regne kvotienten mellom to påfølgende tall i rekken 1/1=1, 2/1=2, 3/2=1.5 osv. #kvotient B<-numeric (n-1) for (i in 2:B[i-1]<-A[i]/A[i-1} B 1.01.611.618034 1.618034 1.618034 …
Denne rekken konvergerer i det gyldne snitt tau (τ):
1
47
√52 1.618034 …
Det gyldne snitt Tau blir også en av røttene i den kvadratiske ligningen:
1 med røtter:
1 √52
plot(f,-2,3,col=2,lwd=3,main=expression(y==x^2-x-1)) 3)
=3)
tall forfedre og formødre t er en kontinuerlig linje som binder sammen cellene i din
gynnelsen av utvikling
f<-function(x){x^2-x-1}
abline(h=0,v=0,lty=2,col=library(rootSolve)
;rot rot<- uniroot.all(f,c(-2,3)) [1] -0.618034 1.618034
points(rot,f(rot),pch=16,cex=2,col x1<-(1+sqrt(5))/2;x1
[1] 1.618034 x2<-(1-sqrt(5))/2;x2
[1] -0.618034
AnDekropp med celler som eksisterte ved beav liv på jorda. Ser man isolert på menneskeslekten Homo sapiens L. så er det en sammenhengende cellelinje tilbake til dine formødre og forfedre som levde for 2000 år siden. Hvor mange forfedre og forfedre hadde du egentlig for 2000 år siden ? Slektsgranskning er en populær aktivitet, og biologisk arv betyr mye. Et barn har vanligvis to foreldre, fire besteforeldre, 8 oldeforeldre, 16 tippoldreforeldre, 32 tipp-tippoldeforeldre osv. La oss si at generasjonstiden i gjennomsnitt er 25 år og la foreldregenerasjonen være generasjon F1, besteforeldre generasjon F2 osv.
48
Hvor mange formødre og forfedre har du egentlig den dable født, hvis man går 2000 år tilbake (80 generas
gen du joner)? Den
er ntall forfedre og formødre
id.år)
lbake 80 nerasjoner ?
orden for ca. 2000 år siden var ca.
nt: Innavl. Det er ikke lett å avgjøre om man tilfeldigvis
funksjonen:
dagen du ble født var foreldrene din var da i gjennomsnitt ca. 25 år og besteforeldrene ca. 50 år gamle. generasjon.F<-seq(1,80,1) #antall generasjon#aforfedre.formødre.antall<-2^generasjon.F tid.år<-25*generasjon.F cbind(generasjon.F,forfedre.formødre.antall,t Hvor mange formødre og forfedre har du hvis du går tige Folketallet på j Hvordan er dette mulig ? Hva må forklaringen være ? Hifår barn sammen med firmenninger, tremenninger etc.
Rett linje En rett linje har
· angir skjæring med y-aksen
(intercept) og β1 er stigningstallet (stigningskoeffisienten).
=beta*"0"+beta*"1"*x))
hvor β0 er et konstantledd som
#Rette linjer med forskjellige stigningstall x<-seq(-2,5,0.01) b0<-0.5
="n",xlab="x",ylab="y", plot(-3:5,-4:4,typeession(y=main=expr
abline(v=0,h=0,lty=2,col=4) for (i in -2:5){
inbow(5)[i])lines(x,b0+x*(i),lwd=3,col=ra}
49
#Rette linjer med samme stigningstall x<-seq(-2,5,0.01) beta1<-0.5 plot(-5:5,-5:5,type="n",xlab="x",ylab="y", main=expression(y==beta*"0"+beta*"1"*x)) abline(v=0,h=0,lty=2) t<-seq(-4,4,1) for (i in t){ lines(x,i+beta1*x,lwd=3,col=4) }
Generelt hvis en linje går gjennom punktene (x1,y1) og (x2,y2) så er stigningskoeffisienten b1:
∆∆
Vi lager en linje som går gjennom punktene (-1,-2) og (2,3) plot(c(-2,3),c(-3,4),type="n",xlab="",ylab="") abline(h=0,v=0) points(-1,-2,col=4,pch=16,cex=2) points(2,3,col=4,pch=16,cex=2) lines(c(-1,2),c(-2,3),col=2,lwd=3,lty=3) #bregner stigningskoeffisient slope<-(3-(-2))/(2-(-1))
50
#Bestemmer intercept ved å la linjen gå gjennom (2,3)
ntercept beta0 og slope
y/Δx=5/3
linje<-function(x) {1+x}
=3,ylab="y",main=expression(y==1+x))
n 0 til -1
.6e-15 av kvadratet 1x1
te }
te =1 som er stigningstallet
beta0<-3-slope*2;beta0 #Trekker linje gjennom iabline(beta0,slope,col=3,lwd=2,lty=2) arrows(-1,-2,2,-2,col=3,lwd=2) arrows(2,-2,2,3,col=3,lwd=2) Vi ser at stigningstallet er Δ
curve(linje,-2,5,col=2,lwdabline(h=0,v=0,lty=2,col=3) #Beregner arealet av trekanteintegrate(linje,-1,0) 0.5 with absolute error < 5#Arealet blir lik halvparten #Finner den deriverte til linjen dxlinje<-D(expression(1+x),"x") #Lager en funksjon av den deriverderivert<-function (x) {eval(dxlinje)#Finner den deriverte for x=1 derivert(1) [1] 1
eriver#Den d
51
Logaritmefunksjon
Fra Euler kan vi skrive med moderne begrepsapparat.
Euler oppdaget også at hvis man kjenner loga(x) så er det lett å finne logaritmen med et annet grunntall logb(x)
· · Det vil si:
for logaritmer”: Forholdet mellom logaritmene til to tall blir det samme utansett hvilket
unntall (basis) man bruker:
Dette gir den ”gyldne regel
gr
For logartimer gjelder:
·
1
ln
· · ln
ogaritmefunksjo n -function (x){log(x)} ot(f,0,4,col=4,lwd=3,main=expression(y==ln(x))) line(v=0,h=0)
nksjonen )),"x");dfdx
#l nef<plab#deriverte av logartimefu
dx<-D(expression(log(xdf
52
f<-function(x)log(x) g<-function (x) exp(x) h<-function (x) x curve(f,0,10,col=2,lwd=3,ylim=c(0,10)) curve(g,0,10,col=3,lwd=3,add=T) curve(h,0,10,col=4,lwd=3,add=T) text(8,1,col=2,cex=1.5,expression (y==ln(x))) text(4,8,col=3,cex=1.5,expression (y==e^x))
,expre sion (y==x))
Vi kan også sammenligne y=lnx med grunntall e og y=logx med grunntall 10, og vi ser at sistnevnte øker mest sakte med økende x. Vi ser også at log(1)=0, fordi 100=1 og ln(1)=0, fordi e0=1. Vi ser også at log(10)=1. f<-function(x){log(x)} m<-function (x) {log10(x)} par(bg="lightyellow") curve(f,1,10,col=2,lwd=3) curve(m,1,10,col=4,lwd=3,add=T)
text(8,7,col=4,cex=1.5 s
53
text(8,1.8,col=2,cex=1.5,expression (y==ln(x))) text(8,0.7,col=4,cex=1.5,expression (y==log(x)))
Vi har tidligere sett hvordan logaritmer også kan tilnærmet beskrives som en harmonisk rekken, og at det er en konstant avstand mellom dem, lik gamma.
Gamma Euler laget et estimat av den harmoniske rekken:
11 0.577218
Konstanten i uttrykket kalles i dag Eulers konstant gamma (Γ) hvor vi kan skrive ln(n) i stedet for ln(n+1):
lim1
ΓHvis n er et positivt heltall så er : Γ n n 1 !
Akkurat som π og e viser det seg at gammafunksjonen gamma(Γ) dukker opp mange steder i matematikken:
·
Vi plotter gammafunksjonen Γ(x) for x=1-5: t<-seq(0,15,0.1) plot(c(0,15),c(0,15),type="n",ylim=c(0,5),xlab="t",ylab=expres
for(i in 1:5)
}
sion(gamma))
{ gamma<-t^(i-1)*exp(-t) lines(t,gamma,type="l",lwd=3,col=rainbow(5)[i])
54
#integrerer gammefunksjonen for gamma(4) s<-4 f<-function(x){x^(s-1)*exp(-x)} integrate(f,0,100) gamma(4) Vi har også sammenhengen:
1 · n<-4
mma(n+1)
ial(n)
gan*gamma(n) factor Andre uttrykk for Γ:
12 · 2!
14 · 4!
16 · 6!
lim1 1
12 √
gamma(1/2) sqrt(pi)
55
Eksponentialfunksjon eksponentialfunksjonen y=ex slik at følgende
tyr det samme: Vi definereruttrykk be
ln har også generelt for eksponentialer Vi
· onen f(x)=ax og
#Vi finner den deriverte som vi ser blir lik funksjonen selv
i finner skjæring med y-aksen
="green")
Vi ser at e0=1 Vi ser på uttrykket som har grenseverdi e når x går mot 0.
Man må skille mellom eksponentialfunksjpotensfunksjonen f(x)=xa. #Vi lager en eksponentialfunksjon f<-function (x){exp(x)} plot(f,-2,2,col="red",lwd=3) abline(h=0,v=0,col="blue")
deriv<-D(expression(exp(x)),"x");deriv exp(x) #Vf(0) [1] 1 points(0,f(0),pch=16,cex=2,col
e lim
1
#plotter funksjonen g<-function (x){(1+x)^(1/x)}
ot(g,-0.5,4,col=2,l =3,main=expression(y==(1+x)^frac(1,x))) pl wdabline(v=0)
56
Det naturlige tallet e (Eulertallet) funnet av Leonard Euler (1707-1783) er her skjæring med y-aksen #skjæring med y-aksen g(0.0000001) [1] 2.718282
lim 1
#naturlige tallet e exp(1) [1] 2.718282
laVi kan også ge en annen definisjon av e:
lim 11
x)^x} d=3,
sion(y==(1+frac(1,x))^x),ylim=c(0,3))
abline(h=exp(1),col=3,lty=3,lwd=3)
Vi kan plotte den naturlige eksponentialfunksjonen:
g<-function (x){(1+1/,20,col=2,lwplot(g,0
main=expresabline(v=0,h=0)
57
Kurvene skjærer y-aksen ved (0,1) siden e0=1 f<-function (x){exp(x)} g<-function (x){exp(-x)} plot(c(-3,3),c(0,20),type="n",xlab="x",ylab="y") curve(f,-3,3,col=2,lwd=3,add=T) curve(g,-3,3,col=4,lwd=3,add=T) abline(v=0,h=0) abline(h=1,lty=3,col=3) text(2,15,expression (y==e^x),col=2,cex=2) text(-2,15,expression(y==e^-x),col=4,cex=2)
Sirkel En sirkel med sentrum i origo og radius r, og 0≤θ≤2π kan beskrives som polarkoordinater:
Trigonometriske funksjoner
· · Hvis sentrum i sirkelen ligger i (x0,y0) så har vi:
· · #Sirkel med radius a=2 og vinkel theta theta<- seq(0,2*pi,length=100) a<-2 x<-a*sin(theta)
-a*cos(theta) plot(x,y,type="l",col=4,xlab="",ylab="",lwd=3,xlim=c(-4,8),ylim=c(-4,8)) abline(h=0,v=0,lty=2,col=3) #Lager en sirkel med origo (4,5) med samme radius a=2 x0<-4 y0<-5
y<
58
x2<-x0+a*sin(theta) y2<-y0+a*cos(theta) lines(x2,y2,col=2,lwd=3)
x1,y1) t:
points(x0,y0,pch=16) points(0,0,pch=16)
Vi kan generelt finne avstanden d mellom to punkter A=(og B (x2,y2) i plane
sempel avstanden mellom A(-1,2) og B(-1,-1): For ek
d<-sqrt[1] 3
((-1-(-1))^2+(-1-2)^2);d
å
å
For en rettvinklet trekant med kateter med lengde 1 så blir
potenusen lik √2, og hy
451
√2√22 cos 45 4
√22 45
11 1
2+y2=1 som
gde 2 blir vinklene 60o, men a denne kan det lages to rettvinklete trekanter med vinkler
90o, 60o og 30o hvor hypotnusen får lengde 2 og den ene kataten
Ved 45o(π/4) er x=y. Vi setter inn i enhetssirklen xgir 2x2=1 dvs. x=y=1/√2
likesidet trekant med lenFor enfr
59
får lengde 1. Vi kan da finne lengden av den andre kateten √3 vha. Pythagoras setning:
60 3√32 60 3
12 60
√31 √3
30 612 30 6
√32 30
1√3
√33
Vi har at lengden av en vektor (a,b) dvs. |(a,b)|=√a2+b2. Derved blir lengden av vektoren OP på enhetssirklen hvor (cosθ)2 er dss. cos2θ
1 Det vil si:
1 Euler standardiserte definisjonen av sinus og cosinus basert på en enhetssirkel med radius lik 1. Vinkler kan uttrykkes i grader (o) hvor en omdreining av en radius i sirkelen er 360o. fortrekker å uttrykke vinkler i radianer. 1 radian er
vinklen som gir buelengde lik 1 på enhetssirkelen. Omkretsen til enhetssirkelen er 2π, og en omdreining (mot klokka) av enhetssirkelen tilsvarer derfor 2π radianer.
Vi
360 2 360
12
3602
180
Hvor mange radianer er 30o?
30 ·
180 0.524
30*pi/180 [1] 0.5235988
Vi har at 1 radian tilsvarer 57.3o:
60
1360
2 57.3
or mange gr er er 0.5 radianer ? Hv ad
0.5 ·180
28.6
Enhetssirklen kan deles inn i fire kvadranter og vi regner mot klokka fra 1. til 4. kvadrant.
π=0 og coxπ=-1. Hvis x=π/2 så har vi punktet P=(0,1) hvor sinπ/2=1 og cosπ/2=0 π/2 gir bevegelse mot klokka på
n, -π/2 er den samme vinkel men bevegelse med
se verdier med asin() og acos(). nus til 45o
sin(pi/4) sqrt(2)/2 #sinus til 30o sin(pi/6) #vinkel 30o i radianer a<-30*(pi/180);a sin(a) asin(0.5)
360/(2*pi) 0.5*(180/pi) Vi foretrekker å beregne sinus og cosinus til et tall, ikke vinkler, i området 0<x<2π. På figuren nedenfor er sinx=b og cosx=a
Hvis x=π så har vi punktet P=(-1,0) hvor sin
. Vinkel enhetssirkeleklokka. I R er kommandoene cos(x), sin(x) og tan(x) basert på x i radianer, dvs. 90o=π/2, 60o=π/3, 45o=π/4, 30o=π/6 Vi finner de inver#si
61
Kommandoen antan2(y,x) gir vinkelen mellom x-aksen og en vektor fra origo til et punkt med koordinater (x,y) #Vinklen til (0,1)=90o atan2(1,0) [1] 1.570796 pi/2 [1] 1.570796
α 1o 30o 45o o60 o90 o180 270o o360 arc α π/180 π/6 π/4 π/3 π/2 π 3π/2 2π Sammenheng mellom vinkel målt i grader og den tilsvarende
arc, arcussirkelbuen ( l. = bue) målt i radianer. Sammenhengen mellom noen vinkler og trigonometriske verdier: α sin α cos α tan α 0o 0 1 0 30o 1
2
12 √3
13 √3
45o 12 √2
12 √2
1
60 o 12 √3
12 √3
90o 1 0 ∞ Innen naturvitenskap treffer man ofte på prosesser som følger
ninger. Vi lager en grafisk framstilling av us-funksjonen.
1) x),col=2,lwd=3,type="l",xaxt="n",xlab=expression(painkel ",x)),
ab=expression("sin "*x),main=expression(y==sin(x)))
harmoniske svingosinsinus- og c
#Sinus x x#Sinus x
,2*pi,0.0x<-seq(0plot(x,sin(
e("Fasevstylaxis(1,at=c(0,1,pi/2,pi,3*pi/2,2*pi),labels=expression (0,1,pi/2,pi,3/2*pi,2*pi))
wd=2) abline(h=0,lty=3,col=4,l
62
#cosinus x seq(0,2*pi,0.01)
=expressi ("Fasevinke
xx<-plot(x,cos(x),col=2,lwd=3,type="l",xaxt="n", labx on(paste l ",x)),
ylab=expression("cos "*x),main=expression(y==cos(x))) axis(1,at=c(0,1,pi/2,pi,3*pi/2,2*pi),labels=expression (0,1,pi/2,pi,3/2*pi,2*pi))
0,lty=3,col=4,lwd=2) abline(h=
sin 0 0 2 1 cos 0 1 2 0
2 2
sin1
1
1
1
tandardformlene for addisjon og subtraksjon: Euler fant s
sin · · cos · ·
· · Samt halvvinkelformlene:
1 22
1 22
63
En omdreining av sirkelen er lik 2π radianer som er lik 360o. For en vinkel α så blir den tilsvarende buen (arc) i radianer lik:
2 · · 360
De Moivres identitet kunne Euler utlede:
· cos · · · √ 1 Dessuten fant Euler rekkeutvikling for de trigonometriske funksjonene:
sin 3! 5! 7!
1 2! 4!
eksponentialfunskjon og trigonometrisk funksjon:
Euler kunne også vise den berømte sammenhengen mellom
· ·
2
sin· ·
2
Det vil si:
· cos · sin Vi har sinusloven:
Vi har cosinusloven:
2 · 2 · 2 ·
64
Arealer
Areal (A) av et kvadrat med like sider h:
· ed bredde b og høyde h: Arealet av trekant m
12 · ·
Areal av parallelogram: ·
Areal av trapes: 12 ·
en rettvinklet trekant hvor a og b er
hosliggende sider og c er motstående side (hypotenusen) så er:
Pythagoras setning: I
c og vinkel θ
For en vilkårlig trekant med hypotenus motstående til hypotenusen gjelder:
65
2 ·
Overflate og volum av en kule med radius r er henholdsvis:
4 ·
43 ·
En sylinder med lengde l og radius r har overflate (inkludert begge ender) og volum henholdsvis:
2 · 2 · ·
· · Arkimedes fant at hvis man hadde en kule omskrevet av en sylinder, i dette tilfelle er l=2r, så er overflatearealet av kula 2/3 av overflaten av sylinderen (inkludert begge ender, og volumet av kula er 2/3 av volumet av sylinderen.
t vil si at forholdet mellom overflatearealene h r samme ed kule
erivasjon Leibniz definerte den deriverte til en funksjon (f´(x)) som:
De aforhold som mellom volumene. Arkimedes fikk symbolet mog sylinder innhugget i sin gravstein.
D
lim∆
∆∆ lim
∆
∆∆
Hvis f(x) er deriverbar i et punkt a så vil tangenten i punkt (a, f(a)) ha stigning lik f’(a) og ligningen for tangentlinjen blir:
Finn tangenten i punktet (4,0.5)dvs. a=4 til funksjonen:
66
1√
-function(x) { /sqrt(x))}
.5) points(4,0.5,cex=2,col=2,lwd=2)
inner den deriverte til fun jonen <-D(expression(1/sqrt(x)),"x");fd
eriv<-function (x) {-(0.5 * x^-0.5/sqrt(x)^2)} t
nn tangenten i punkt (4,9) til funksjonen:
f< (1plot(f,0,10,col=4,lwd=3, main=expression(f(x)==frac(1,sqrt(x)))) #Skal trekke en tangent gjennom (4,0
#Ffd
ks
#Definerer den deriverte som en funksjon fd#Finner den deriverte (slope) når x=4 og deretter intercepslope<-fderiv(4);slope intercept<-0.5+slope*(-4);intercept abline(intercept, slope,lwd=3,col=3)
Fi
2 5 3 g<-function(x) {x^3-2*x^2-5*x-3}
r ennom4,9,cex=2,c =2,lwd=2)
inner den derive e til funksjonen
gderiv<-function (x) {3 * x^2 - 2 * (2 * x) - 5}
ept
add=T)
plot(g,-2,6,col=4,lwd=3, main=expression(g(x)==x^3-2*x^2-5*x-3)) #Skal t ekke en tangent gj (4,9) points( ol
rt#Fgd<-D(expression(x^3-2*x^2-5*x-3),"x");gd #Definerer den deriverte som en funksjon
#Finner den deriverte når x=4 og deretter intercept slope<-gderiv(4);slope
ntercintercept<-9+slope*(-4);iabline(intercept, slope,lwd=3,col=3) #Vi kan også plotte den deriverte
l="cyan",curve(gderiv,-2,6,lty=2,lwd=2,co
67
s på Den deriverte av en funksjon y=f(x) kan skriveforskjellige måter:
ntegrering s
Integrasjon Integrasjon vil si å finne arealer under kurver. Igår ut på å tilpasse en rekke rektangler slik at dere
ealet under en funksjonskurve.totalareal tilsvarer ar å
tegralet av f(x) en egnet ∫ står
r inHvis f(x) er en gitt funksjon så e
samling med alle antideriverte til f(x). Integraltfor en sum
hvor C er en integrasjonskonstant. Kjenner vi den deriverte kan denne omformes til et ubestemt integral. Fundamentalteoremet i kalkulus viser sammenhengen mellom den deriverte og integral. Arealet A mellom to kontinuerlige funksjoner f(x) og g(x) hvor f(x)≥ g(x) er lik:
: ·
:
Fundamentalteoremet i kalkulus:
68
Hvis vi har en kontg F(x) er den anti
inuerlig funksjon f(x) i intervallet [a,b] deriverte til f(x) (F’(x)=f(x)) for alle x i o
[a,b] så vil:
Finn integralet:
1 1.718282
fordi ex er lik sin egen antideriverte (F(x)=ex) f<-function(x){exp(x)} integrate(f,0,1)
p(0)
exp(1) ex
Bestem integralet 1
ln 2 ln 1 ln 2 0.6931472
d(ln(x))Vi bruker at /dx= 1/x g<-function(x){1/x}
tegrate(g,1,2) g(2)
log(1)
Vi kan regne ut mer nøyaktig ved å øke n. kan sammenligne med numerisk integrasjon
Uniform fordeling
t og 0 utenfor Standard uniform fordeling U(0,1) i et intervall er gitt ved:
inlo
Vif<-function (x){exp(-2*x^2)} integrate (f,0,1)
Uniform fordeling har grenser [a,b] og sannsynlighetstetthet lik 1 innen område
1 0 10
1
t verdi (gjennomsnitt) og varianse er: Forvente
2 12
69
Standard uniform fordeling [0,1] kan benyttes til å generere tall mellom 0 og 1.
l=4,main="Standard uniform fordeling") ,col=3)
0))) ot(1:n,y2,pch=".",col=4,ylim=c(0,1))
abline(h=0.5,lty=3,col=3,lwd=3) jentar det samme m n regner snitt av 100 uniformt fordelte -10000 <-replicate(n,mean(runif(100)))
plot(1:n,y2,pch=".",col=4,ylim=c(0,1))
0.5.
n<-10000 y<-runif(n) plot(1:n,y,pch=".",coabline(h=0.5,lty=3
Vi kan plukke ut 10 uniformt fordelte tall, regne gjennomsnitt av dem og gjenta dette 10.000 ganger: n<-10000 2<-replicate(n,mean(runif(1ypl
#G en<y2
abline(h=0.5,lty=3,col=3,lwd=3)
Vi ser at tallene begynner nå å samle seg rundt gjennomsnittet µ=
70
· 21
0.5
iform fordeling som
Vi kan se på variansen av en standard unblir lik 1/12 n<-10000
-replicate(n,var(runif(100))) varianse<plot(1:n,varianse,pch=".",col=4) abline(h=1/12,lty=3,col=3,lwd=3)
·12
112
Vi sjekker dette integralet: #numerisk integrasjon f<-function (x) {(x-1/2)^2} integrate(f,0,1)
3333
id og rom. En Poisson-lambda (λ) som er
delser per areal- eller av verdien λ finner man ved
tainnsamling eller ved forhåndskunnskap om fenomenet som studeres
0.08333333 with absolute error < 9.3e-16 1/12 [1] 0.0833
Poisson-fordeling For telling av tilfeldige hendelser i t
ameter variabel beskrives av en rate pargjennomsnittsverdien av antall henidsintervall (λ=rt). Et estimat tda
Pr !
Forventet verdi og varianse er lik λ, og standardavviket blir ± kvadratroten til telletallet.
71
x<-seq(0,10,1) n<-6 lambda<-matrix(NA,n,1) lambda[1]<-0.1 par(mfrow=c(2,3),bg="lightyellow") for (i in 1:n) { barplot(dpois(x,lambda[i]),col="lightgreen")
mbda[i+1]<-lambda[i]+ 6
Tredimensjonale funksjoner og partiellderiverte Vi kan ha funksjoner med flere variable e.g. med to variable z=f(x,y) e.g. funksjonen:
la}
0.
#3D plot x<-seq(-1,1,0.05)
) ){sin(pi*sqrt(x^2+y^2))}
etailed",
y<-seq(-1,1,0.05unction(x,yf<- f
z <- outer(x,y,f) z[is.na(z)]<- 1
persp(x,y,z,theta=30,phi= 40,expand=0.5,col="pink",ticktype="d
72
shade=0.3,main=expression (z==sin(pi*sqrt(x^2+y^2))))
Vi kan så på nivåkurvene til funksjonen over, hvor den tredimensjonale kurven projiseres ned i planet. #konturlinjer x<-seq(-1,1,0.05) y<-seq(-1,1,0.05) z<- function(x,y){sin(pi*sqrt(x^2+y^2))} image(x,y,outer(x,y,z),main=expression (z==sin(pi*sqrt(x^2+y^2)))) contour(x,y,outer(x,y,z),add=T) abline(h=0,v=0,lty=2,col=3)
on med flere
dfx<-D(expression(sin(pi*sqrt(x^2+y^2))),"x") dfx cos(pi * sqrt(x^2 + y^2)) * (pi * (0.5 * (2 * x * (x^2 + y^2)^-0.5))) dfy<-D(expression(sin(pi*sqrt(x^2+y^2))),"y") dfy cos(pi * sqrt(x^2 + y^2)) * (pi * (0.5 * (2 * y * (x^2 + y^2)^-0.5))) h<-function(x,y) eval(dfx)
Partiell derivasjon vil si å derivere en funksjvariable #Partiellderiverte
73
Numerisk løsning av differensialligninger
Kaos og Lorenz-ligningene
Meteorologen Edvard N. Lorenz ved MIT viste i 1963 hvordan konveksjonsstrømmer i atmosfæren kunne bli beskrevet av 12 ligninger som han forenklet til tre ligninger, hvor x er hastighet på rotasjonen, positiv med klokka, negativ mot klokka; y er temperaturforskjell mellom stigende og synkende væske, z er avvik fra linearitet i temperaturprofilen, r er Rayleightall, σ er Prandtl
iene for og
tall, b aspekt ratio i en konveksjonssylinder (Deterministic nonperiodic flow J. Atmos.Sci. 1963,20,130). Startverd
, b=8/3 r=28.Lorenz var σ =10
· ·
· ·
Løsningene oscillerer, men inne visse grenser, i form av en fraktal med dimensjon to til tre. Ligningene inneholder to kvadratledd xy og xz. Hvis løsningene x(t) blir plottet mot z(t) gir dette en figur som ligner på en sommerfugl. Todimensjonalt ser linjer ut til å krysse hverandre, men det skjer ikke i et tredimensjonalt plot. I et punkt på en linje kan det bare trekkes en tangent. Trajektoriet starter nær 0, svinger til høyre og inn i sentrum av en spiral på venstre side. Trajektoriet forlater spiralen etter å ha kommet en kritisk verdi vekk fra sentrum, og etter å ha gått i spiral spretter den over til høyre side, går litt i spiral, så over til venstre side, går litt i spiral osv. Det blir seende ut som to
mmerfuglvinger. Lorenz viste at det å kommer med en sikker rmelding langt fram i tid er vanskelig, for ikke å si umulig.
g feil mellom estimert verdi og sann verdi. Det
ere, det vil si ingsretning. Det
ly´s
rajektorier som ligger nær hverandre atskilles raskt og
library(deSolve)
sovæFramtiden er uforutsigbar. Resultatet er avhengig av utgangsbetingelsene, men selv om startbetingelsene er målt nøyaktivil det alltid bli ener bare en viss tid fremover det er mulig å predikt
med en statistisk sannsynlighet for en utviklkommeer dette som gjenspeiles i den berømte: Does a flap of a butterfwings in Brazil set off a tornado in Texas (1972)
To teksponensielt og kan beskrives ia
#pakke deSolve
v Lyapunoveksponenten λ.
74
#parameterverdier arams<-c(s=10,b=8/3,r=28) plorenz<-function(t,y,p) { dx<-p["s"]*(y[2]-y[1])
75
xlab="x",ylab="z",type="l",col=2,main="Lorenz")
dy<--y[1]*y[3]+ p["r"]*y[1]-y[2] dz<-y[1]*y[2]-p["b"]*y[3] list(c(dx,dy,dz)) } require(deSolve) tid<-seq(0,100,0.01) start<-c(1,1,1) resultat<-lsoda(start,tid,lorenz,params,rtol=1e-4) plot(resultat[,2],resultat[,4],