Exercises GEO1040. Øyvind Ryan

Størrelse: px
Begynne med side:

Download "Exercises GEO1040. Øyvind Ryan"

Transkript

1 Exercises GEO1040 Øyvind Ryan 19. februar 2013

2 1. Bruk Matlab til å regne ut: a b. 5/7 5/7 c ^ d. (2*3-4^2)/(13-2*2^2) e ^4 f. Hva er det 12. desimalet i 1/7? Hint: funksjonen floor er nyttig her. x=1/7; x11=floor(x*1e11); x12=floor(x*1e12); tall=x12-10*x11 2. Lag følge variable: x = og y = 9.56+e 1 og regn ut: x + y, x y, x y og sin x 2 y 2

3 x=0.762 y=sqrt(9.56) + exp(-1) x+y x*y x/y sin(x^2*y) 3. Bytt om verdiene til variablene x og y uten at Matlab viser verdien til den temporære variabelen som du bruker. temp=x; x=y y=temp 4. Beregn antall sekunder i ett år. 365*24*60*60 5. Beregn avstanden x 2 + y 2 hvor x = 10 km and y = 50 km. x=10 y=50 dist=sqrt(x^2 + y^2) 6. Beregn volumet til Jorda og den gjennomsnittlige tettheten. Angi tettheten i kg/m 3. Jordas masse er kg og radiusen er 6371 km. R=6371*1000; M=5.9737e+24; vol=4/3*pi*r^3; M/vol 7. a. La Matlab regne ut cos(θ) og sin(θ) for θ = 0,π/6,π/4,π/3 og π/2. Sjekk at resultatene er rimelige: 3

4 Løsningsforslag: cos(0) = sin(π/2) = 1 cos(π/6) = sin(π/3) = cos(π/4) = sin(π/4) = cos(π/3) = sin(π/6) = 0.5 cos(π/2) = sin(0) = 0 b. Gjør om verdiene til θ fra radianer til grader. Hint: deg = rad 180 π. Regn ut verdiene ved å bruke funksjonene cosd(θ) og sind(θ). Får du samme svar som i a.? (Hvis ikke har du gjort noe feil.) Løsningsforslag: JA, du får samme svar! 8. La Matlab regne ut verdiene, og sjekk at resultatene er rimelige: e 1, 16, cosπ, sin π 6, tan π 4, arcsin 1 2, arctan1, cos45. exp(1) sqrt(16) cos(pi) sin(pi/6) tan(pi/4) asin(1/2) atan(1) cosd(45) 9. Anta at 1. januar er dag 1 i uke 1. I hvilken uke er dag 117? Løsningsforslag: Her vil vi at 1 til 7 skal gi uke 1, 8 til 14 uke 2, osv. Da kan vi dele med 7 og avrunde oppover. Vi sjekker først at det fungerer som vi vil ved å teste med dagene 1, 7 og 8. ceil(1/7) ceil(7/7) ceil(8/7) uke=ceil(117/7) Svaret er Anta at 1. januar er dag 4 i uke 1. I hvilken uke er dag 117? Løsningsforslag: Her må vi legge til 3 dager i formelen for de som mangler i den første uken: 4

5 uke = ceil((117+3)/7) Svaret er Vi antar at en bakteriepopulasjon vokser eksponentielt og har en vekst gitt ved P = P 0 e kt der t er tiden i sekunder, P 0 = 120 er antall bakterier ved t=0 og k = 0.04s 1. Finn ut hvor mange bakterier det er etter: a. 10 sekunder Løsningsforslag: 179 b. 30 sekunder Løsningsforslag: 398 c. 1 minutt Løsningsforslag: d. 1 time Løsningsforslag: (Jordskjelv). Jordskjelvet på Haiti i 2010 målte 7.0 Mw (Moment magnitude scale) og det i Chile ca en måned senere 8.8 Mw forskjellen i energi for to jordskjelv kan beskrives ved E = (m 1 m 2 ) Hvor mange ganger mer energi ble utløst i jordskjelvet i Chile enn i det på Haiti? Løsningsforslag: 501 ganger mer 13 (Aldersbestemmelse etter Karbon-14 metoden). Karbon-14 er en radioaktiv isotop med halveringstid på 5730 år. I atmosfæren er det et nokså konstant blandingsforhold mellom karbon-14 og vanlig karbon 12. Dette forholdet kaller vi I 0. Når dyr og planter dør vil de ikke lengre ta opp karbon-14 og mengden av karbon-14 de inneholder blir gradvis redusert, mens mengden av karbon-12, som ikke er radioaktivt, blir uforandret. Forholdet mellom karbon-14 og karbon- 12 i prøven av det døde dyret/planten kaller vi I. Tiden t er antall år som har gått siden dyret/planten vi ser på døde. Sammenhengen mellom I 0, I og t er gitt ved: t = ln(i /I 0) ln Bruk Matlab til å regne ut alderen på følge prøver: a. En tann fra en sabeltanntiger der I er ca 10% av I 0 Løsningsforslag: år 5

6 b. En tann fra en mammut der I er ca 5% av I 0 Løsningsforslag: år c. En trebit der forholdet mellom I og I 0 er 50% Løsningsforslag: 5730 år d. Et maleri der I er ca 96% av I 0. Fra hvilken epoke er dette maleriet? Løsningsforslag: 337 år. Barokken (1674) 14. Når en lydbølge går fra et medium til et annet res både hastigheten til bølgen og retningen. Snells brytningslov uttrykker dette forholdet ved sammenhengen v1sin(θ 2 ) = v2sin(θ 1 ), der størrelsene er angitt på figuren under. Vi skal se på en lydbølge som går fra luft til vann. Lydhastigheten i luft er 340m/s, mens lydhastigheten i vann er 1500m/s. Løsningsforslag: Kode som løser oppgaven blir v1 = 340; v2 = 1500; theta1=10; theta2= asind(v2/v1*sind(theta1)); t= 5; 6

7 s= v2*t; dybde=s*cosd(theta2); x=sqrt(s^2-dybde^2); x2 = s*sind(theta2); a. Vi antar at θ 1 = 10. Finn θ 2 Løsningsforslag: θ 2 = 50 b. Vi kan uttrykke lengden bølgen tilbakelegger i vannet med formelen: s = vt, der v = 1500 m/s. Finn ut hvor langt lydbølgen beveger seg i løpet av 5 sek etter den traff vannet. Løsningsforslag: t=5 gir s=7500m c. Finn ut hvor dypt ned (langs z-aksen) bølgen har beveget seg i vannet. Løsningsforslag: 4820m d. Finn ut hvor langt bortover (langs x-aksen) bølgen har beveget seg ved hjelp av Pythagoras læresetning. Finnes det en annen metode å regne ut denne lengden på? Løsningsforslag: 5746m, Ja man kan bruke s*sind(θ 2 ). x og x2 i løsningsforslaget gir samme svar 15. Gitt følge kode: for i=1:6 num = i; a. Hvor mange steg er det i løkka? Løsningsforslag: 6 b. Hvilken verdi har num etter at løkka er ferdig? Løsningsforslag: 6 c. Hvilken verdi har num etter at løkka har gått 3 ganger? Løsningsforslag: 3 16 (Flervalgsoppgave, kun ett riktig svar). For å få noe ut av oppgaven bør den gjøres uten å bruke Matlab. 7

8 tallet=10; for k=2:6 tallet = tallet+k/2; tallet Hva skrives ut? tallet = 10 tallet = 20.5 tallet = 20 tallet = 30 tallet = 0 Løsningsforslag: 20 er riktig svar. 17. Vi skal bruke Matlab til å studere partall og oddetall. Lag en løkke som skriver ut de n første oddetallene. Sett n lik et tall i begynnelsen av programmet. n=10; for k=1:n disp(2*k-1) 18. Skriv en for-løkke som finner de n første kvadrattallene. n=10; for k=1:n disp(k^2) 19. Ê Man definerer fakultet av n til n! = n. Skriv en for-løkke som regner ut n!. Sett verdien til n helt i starten av programmet. n=10; val=1; for k=2:n val=val*k; disp(val) 8

9 20. Din nye PC har kostet 2000 kroner. Den devalueres med 20% hvert år. a. Hvor mye blir PC en verdt når du får bachelorgraden din om 3 år? val=2000; for k=1:3 val=val*0.8; disp(val) b. Skriv om programmet slik at PC en i stedet devalueres med 20% av den opprinnelig verdien hvert år (det vil si at vi devaluerer med et fast beløp hvert år, i motsetning til i a.). val=2000; deval=val*0.2; for k=1:3 val=val-deval; disp(val) 21. Du har 1000 kroner på bankkontoen din. Banken din tilbyr fast rente på 5% per år. a. Bruk en for-løkke til å beregne hvor mye du har på kontoen om 10 år. sumpenger1=1000; for k=1:10 sumpenger1=sumpenger1*1.05; sumpenger1 Kjører du koden vil du se at vi sitter igjen med 1629kr etter 10 år med den første banken b. En annen bank tilbyr deg en rente på 4% per år de 5 første årene og 6% per år de 5 siste årene. Hvor mye kan du tjene ved å bytte bank? 9

10 sumpenger2=1000; for k=1:5 sumpenger2=sumpenger2*1.04; for k=6:10 sumpenger2=sumpenger2*1.06; sumpenger2 diffpeng=sumpenger2-sumpenger1; disp(diffpenger) Vi sitter igjen med 1628kr etter 10 år med den andre banken. Det er derfor ikke lønnsomt å bruke den andre banken. 22. En vanntank inneholder 10 liter usaltet vann på dag 0. I forbindelse med et eksperiment i oseanografi, blir det tilført 1dl salt hver dag fra dag 1. Samtidig, fordampes 2dl usaltet vann hver dag. Regn ut hvordan forholdet salt/vann varierer i løpet av den første uken. vannmengde=10; saltmengde=0; for k=1:7 saltmengde=saltmengde+0.1; vannmengde=vannmengde-0.2; forhold=saltmengde/vannmengde; disp(forhold) 23 (Flervalgsoppgave, kun ett riktig svar). For å få noe ut av oppgaven bør den gjøres uten å bruke Matlab. tallet=0; for i=1:2 for j=2:3 tallet = tallet+i+j; tallet Hva skrives ut? 10

11 tallet = 7 tallet = 0 tallet = 11 tallet = 16 tallet = 5 Løsningsforslag: 16 er riktig svar. 24. Vi skal se på en av de store innsjøene i Norge. Anta at vanntilførselen fra elvene i området, V 0, var 128 m 3 /s i år Pga. økt bresmelting økte tilførselen med 4% pr. år frem til a. Finn V 0 i m 3 /år i Løsningsforslag: m 3 /år. b. Hvor stor var V 0 i 2009? Løsningsforslag: m 3 /år. c. Anta videre at i tillegg er det tilsig fra grunnvannet. Det var V G = 0.8 km 3 /år i 2003 og ble redusert med 3% pr.år. Regn ut total tilførsel av vann til innsjøen i 2004 og i Løsningsforslag: i 2004: V = V V G 0.97 = m 3 /år. i 2009: V = V V G 0.97 ( ) = m 3 /år. 25. Legg inn disse vektorene i Matlab: (1, 9,7,5, 7), (π, 14,7/3), (1,3,5,7,9,...,99), (124,120,116,112...,4,0). : a=[1,-9,7,5,-7] b=[pi,-14, 7/3] c=1:2:99 d=124:-4:0 26. Legg inn arrayet (1, 2, 4, 8, 16, ) Matlab og finn summen. Hint: 4096 = : a=0:12; a=2.^a; summen=sum(a) NB: Ikke kall summen sum siden sum også er navnet på en innebygd funksjon. 27. Definer vektorene A, B, og C slik at de har følge verdier i Matlab: 11

12 A=[ ] B=[ ] C=[0.5,1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5] A=1:9; B=2:2:18; C=0.5:0.5:5; D=B.^2-A.^2 a. På hvilken plass i hhv. A, B, og C finner du tallet 4? Løsningsforslag: plass 4, 2 og 8 b. Hvilken av vektorene er lengst? Løsningsforslag: C er lengst c. Opprett vektoren D=B.^2-A.^2. d. Hva blir A + B +C + D? Løsningsforslag: Vi får enfeilmelding fordi alle vektorene ikke har samme lengde 28. Definer a=[ ]. Lag et program som beregner sum(a) ved hjelp av en løkke istedenfor funksjonen sum. a=1:10; summen=0; % initialisere for i=1:length(a) summen=summen+a(i); 29. Trykket (p) i en gitt høyde (z) i atmosfæren uttrykkes ved p(z) = p 0 e ( z H ), hvor p 0 er bakketrykket, z er høyden over bakken og H en karakteristisk konstant. Vi kan bruke følge verdier på disse: p 0 = 1004 [hpa] H = 7800 [m] a. Opprett et array Z, med høyder 0-20km med intervall på 500m 12

13 b. Finn trykket for alle høydene og lagre dem i et array P z : P0=1004; % trykk ved bakken i hpa H=7800; % konstant i m z=0:500:20000; % høyder i m Pz=P0*exp(-z/H) Pass på at høydene og konstanten er enten begge i meter eller begge i kilometer 30. I denne oppgaven skal vi se på hvordan vi kan skrive ut oddetall, partall, og kvadrattall. R=1:2:49; P=2:2:50; S=P-R; length(s) prod(s) sum(s) prod(p./r) sum(1./p) a. Opprett en vektor R med alle oddetallene mellom 0 og 50 og et array P med alle partallene f.o.m. 2 t.o.m. 50 b. Lag en vektor S = P - R. Hvor lang er S? Hva blir produktet av alle elementene i S? Hva blir summen av alle elementene i S? Løsningsforslag: 25, 1, 25 c. Hva blir produktet av elementene i P R? Løsningsforslag: d. Hva blir summen av 1 P? Løsningsforslag: Finn tettheten til 4 forskjellige steintyper på nettet, sett verdiene i en vektor og konverter fra g /cm 3 to kg /m 3. 13

14 % basalt, granite, sandstone, purnice from a=[ ] a=a* Det magnetiske feltet i Oslo i 2010 har de tre komponentene B N = , B E = og B Z = hvor verdiene er gitt i nanotesla og B N er feltintensitet mot nord, B E mot øst, og B Z vertikalt nedover. Sett de tre elementene i et array. Deretter beregn deklinasjon D og inklinasjon I av feltet som er relatert til feltkomponentene ved formlene tand = B E /B N og tan I = B Z / B 2 N + B 2 E. B=[ ,484.7, ] % mag felt i Oslo i nt declin=atand(b(2)/b(1)) % declination in degrees inclin=atand(b(3)/sqrt(b(1)^2+b(2)^2)) % inclination in degrees 33 (Flervalgsoppgave, kun ett riktig svar). For å få noe ut av oppgaven bør den gjøres uten å bruke Matlab. A = [ ] B = [5 6 8] Operasjonen C = A + B gir C = [ ] Operasjonen C = A + B gir C = [ ] Operasjonen C = [A,B] gir C = [ ] Operasjonen C = [A + B] gir C = [ ] Løsningsforslag: Det tredje alternativet er riktig. 34 (Flervalgsoppgave, kun ett riktig svar). For å få noe ut av oppgaven bør den gjøres uten å bruke Matlab. tallet=0; for i=1:2 for j=2:3 tallet = tallet+i+j; tallet Hva skrives ut? tallet = 7 tallet = 0 tallet = [ ] 14

15 tallet = 16 tallet(i,j) = [ ] Løsningsforslag: 16 er riktig. 35 (Flervalgsoppgave, kun ett riktig svar). For å få noe ut av oppgaven bør den gjøres uten å bruke Matlab. A = [ ] B = [6 7 8] Operasjonen C = A B gir C = [ ] Operasjonen C = A B(1) gir C = [ ] Operasjonen C = B A gir C = [ ] Operasjonen C = [A,B] gir C = [ ] Løsningsforslag: Det andre alternativet er riktig. 36 (Flervalgsoppgave, kun ett riktig svar). For å få noe ut av oppgaven bør den gjøres uten å bruke Matlab. D = [ ] E = [2 2 2] Operasjonen F = D. E gir F = [ ] Operasjonen F = D E gir en matrise. Operasjonen F = D. E(1) gir F = [ ] Operasjonen F = E. D(4) gir F = [4 4 4] Løsningsforslag: Det fjerde alternativet er riktig. 37. Gitt følge kode: for i=1:3 num = i; obs(i)= num; a. Hva slags type variabel er obs? Løsningsforslag: obs er en array b. Hvilke(n) verdi(er) har obs når løkka er ferdig? Løsningsforslag: [1 2 3] c. Hva er summen av obs? Løsningsforslag: Gitt følge array 15

16 F = [ ] F inneholder gjennomsnittstemperatur for hver måned på Blindern gitt i Fahrenheit. Formelen for å konvertere fra Fahrenheit til Celsius er gitt ved C = (F 32)/1.8. Bruk en for-løkke og lag en ny array C som inneholder tilsvare temperaturer i Celsius. F = [ ]; for i=1:length(f) C(i)=(F(i)-32)/1.8; 39. Fibonacci-tallene er en tallfølge der hvert tall er summen av de to forrige tallene i følgen: osv a. Lag en løkke som lager de femten første Fibonaccitallene, og legger dem i et array kalt Fibo. Fibo = zeros(1,15); Fibo(1) = 0; Fibo(2) = 1; for i = 3:15 Fibo(i) = Fibo(i-1) + Fibo(i-2); Her må vi først lage et array for tallene med femten elementer der første element inneholder tallet 0 og det andre elementet tallet 1. Så går vi i løkke der vi starter på element 3 og beregner verdien på elementet ut fra de to foregåe elementene som vi lagrer i element nr. i. b. Lag en løkke der du finner Fibonaccitall nr. n. Du velger verdien til n i begynnelsen av programmet. Du skal ikke lage en vektor som i a., bare finne tall nr n. n = 15; f1 = 0; 16

17 f2 = 1; for i = 3:n f3 = f2 + f1; f1 = f2; f2 = f3; disp(f3); Vi velger 15 som tallet n og legger dette i en variabel. Dette gjør det lettere å re på tallet senere. Så initaliserer vi to variable f1 og f2 til verdi 0 og 1. Så går vi i en løkke der i varierer fra 3 til n og beregner Fibonacci tallet nr. i som vi legger i variablen f3. Videre tar vi vare på det nest siste tallet i f1 og det siste som vi nå har i f3 legges i f2. Da er vi klar for neste runde i løkka. c. Vanskelig: Du får oppgitt at tallene på plass nr. 16 og 17 i Fibonaccitallrekka er henholdsvis 610 og 987. Bruk kun denne informasjonen til å regne ut rekka bakover fra tall nr 17. Legg disse tallene inn i et array.(arrayet du får burde være lik den du fikk i oppgave 1. pluss de to tallene du fikk opgitt i denne oppgaven.) Fibo = zeros(1,17); Fibo(17) = 987; Fibo(16) = 610; for i = 15:-1:1 Fibo(i) = Fibo(i+2) - Fibo(i+1); Her må vi snu på måten vi gjennomløper løkka. Vi starter med i = 15 siden vi skal bruke verdiene på plass 17 og 16 til å beregne den neste verdien nedover i arrayet. Vi initaliserer element 16 og 17 til de angitte verdiene. Da er det bare å strte beregningene for element i ut fra de to vediene på plass i + 1 og i + 2 ved en enkel subtraksjon. 40. I Oppgave 19 i Seksjon?? definerte vi fakultet av n til å være n! = n, og programmerte en løkke som regnet ut n!. Skriv om løkken slik at alle fakultetverdiene fra 1! til n! lagres i et array som du kaller fakultet. n = 10; fakultet = zeros(1,n); 17

18 fakultet(1) = 1; for i = 2:n fakultet(i) = fakultet(i-1) * i; Her velger vi n = 10 og setter av plass for et array på 10 elementer med verdi 0. Vi initaliserer første element til 1 og starter løkka med indeks til element 2. Vi bruker foregåe element til å beregne verdien av element i. 41. En tallfølge er gitt ved a 1 = 1, a 2 = 3 og a n+2 = 3a n+1 2a n. Skriv et program som returnerer en vektor med de 8 første leddene i følgen. n=8; % antall elementer som skal beregnes a=zeros(1,n); % initialisere arrayen a(1)=1; a(2)=3; for i=3:n a(i)=3*a(i-1)-2*a(i-2); eller n=8; % antall elementer som skal beregnes a=zeros(1,n); % initialisere arrayen a(1)=1; a(2)=3; for i=1:n-2 a(i+2)=3*a(i+1)-2*a(i); 42. Legg inn vektorene a = (3,1, 2,5,4,3) og b = (4,1, 1,5,3,1) i Matlab, og utfør kommandoen» plot(a,b). Utfør også kommandoene» plot(a) og» plot(b), og bruk» hold on til å sørge for at de to siste figurene kommer i samme vindu. a=[ ]; b=[ ]; plot(a,b) figure hold on plot(a) 18

19 plot(b) hold off 43. Plot de to funksjonene f (x) = e 0.5x2 og h(x) = e (x 3t)2. La x variere fra 4 til 4 med små skrittlengde (prøv deg frem til du faa fine glatte grafer). t skal være et tall mellom 0 og 2. Plott de to funksjonene i samme figur. La de ha ulik farge. Prøv ut forskjellige verdier av t. Hva gjør t? x=linspace(-4,4,1000); f=exp(-0.5*x.^2); t=0.5; h_xt=exp(-(x-3*t).^2); figure(1) plot(f) hold on plot(h_xt, g ) t forflytter senteret av funksjonen, eller forflytter bølgetoppen". 44 (To vulkaner). Vi kan se for oss en vulkan som en sylinder og beskrive dens utslippsrate av magma ved Q = πr4 P 8µL m3 /s Der L er lengden i meter, R radiusen i m, µ viskositeten til magmaen i Pa/sek og P trykket i vulkanen gitt i Pa. For en vulkan fra Hawaii og Mount St Helen under typiske utbrudd: L H = 5000 L St = 7000 µ H = 100 µ St = R H = 1m L St = 50 P H = P St = a. Hvilken vulkan slipper ut mest magma under et typisk utbrudd? Løsningsforslag: Følge kode løser problemet: L = [ ]; u = [100 2*10^6]; R = [1 50]; P = [5*10^6 3*10^7]; Q = (pi*r.^4.*p)./(8*u.*l); Vulkanen på St. Helens slipper ut mest (St.Helens: e+03, Hawaii: ) 19

20 b. Hvor stort trykk ville man trengt i vulkanen på Hawaii for at de to vulkanene skulle slippe ut like mye magma? Pp = P(1)/Q(1)*Q(2); som gir at trykket på Hawaii vulkanen må være minst e+09 Pa for å slippe ut samme mengde magma. c. Plott Q som funksjon av radier og lengder i nærheten av de gitte verdier, hva er de viktigste faktorene for hvor mye lava som blir sluppet ut? R = 1:50; L = 5000; u = 100; P = 5*10^6; Q = (pi*r.^4*p)/(8*u*l); figure(1); plot(r,q); xlabel( Radius [km] ); ylabel( Lavaflom ); clear R L Q; R = 1; L = 5000:100:7000; Q = (pi*r.^4*p)./(8*u*l); figure(2); plot(l,q); xlabel( Radius [km] ); ylabel( Lavaflom ); Ut fra plottene ser vi at det er radius som er den viktigste faktoren for mengden av lava som strømmer ut. 45. Vi skal se litt mer på oppgaven fra tidligere der vi hadde en bakteriepopulasjon som vokste eksponentielt og hadde en vekst gitt av P = P 0 e kt der t er tiden i sekunder, P 0 =120 er populasjonen ved t = 0 og k = t=0:30; % tidsrekka k=0.04; % parameter 20

21 P0=120; % bakteriepopulasjonen ved start P=P0*exp(k*t); figure(1) plot(p) xlabel( tid [s] ) ylabel( antall bakterier ) title( Populasjon ) xlim([1 30]) t=1:60*6; P=P0*exp(k*t); figure(2) hold on plot(p) xlabel( tid [s] ) ylabel( antall bakterier ) title( Populasjon ) plot(t,1e8, r* ) xlim([1 360]) hold off Tidspunktet naar populasjonen naar grensen er ved ca. 340 sekunder. a. Lag en tidsvektor for de 30 første sekundene som du kaller t. b. Regn ut bakteriepopulasjonen for hver t, og plot denne. Sett navn på aksene. c. Lag en ny tidsvektor som representerer 6 minutter. d. Regn ut bakteriepopulasjonen for hvert sekund i 6 minutter, og plot denne. Sett navn på aksene e. Plot en linje i figuren din som markerer der populasjonen når 10 8 bakterier. La linjen være røde stjerner. Les av for hvilken t denne verdien nås. 46. Bruk kommandoen» plot til å lage en enkel strektegning av et hus. 21

22 x=[ ]; y=[ ]; plot(x,y) % definere aksene for å se huset bedre figure plot(x,y) axis([ ]) 47. Bruk Matlab til å tegne grafen til f (x) = x 3 1 over intervallet [ 1,1]. Legg så inn grafen til g (x) = 3x 2 i samme koordinatsystem, og velg forskjellig farge på de to grafene. Bruk skrittlengde langs x-aksen. x=-1:0.01:1 figure hold on y=x.^3-1 plot(x,y, r ) y=3*x.^2 plot(x,y, g ) hold off 48. Skriv inn realistiske verdier til nedbør på 7 dager i et array og lag et søylediagram som viser nedbør som en funksjon av tid (med bar). Lag også et histogram av verdiene (med hist). Prøv deg frem med forskjellige verdier av n. ned=[ ]; subplot(2,2,1) bar(ned) title( bar ) subplot(2,2,2) hist(ned) title( hist default ) subplot(2,2,3) hist(ned,2) title( hist 2 ) subplot(2,2,4) hist(ned,4) title( hist 4 ) 22

23 49. Om man kaster en ball vil den følge en bane gitt av formelen: f (x) = x tan(θ) 1 g x 2 2v0 2 cos 2 (θ) + y 0 der v 0 er startfarten (i m/s), θ er vinkelen du kaster ballen i forhold til x-aksen, y 0 er høyden ballen kastes i (ved x=0) og g er tyngdeakselerasjonen. Figur 1: En balls bane gjennom luften i Oppgave 49 Du kan sette g = 9.81m/s 2. Prøv ulike startverdier og lag figurer som viser banen til ballen. Hint: om du setter θ i grader må du bruke tand() og cosd(). v0=80; theta=60; x=0:0.01:10; g=9.81; y0=2; y=x*tand(theta)-((g*x.^2)/(2*v0*(cosd(theta))^2))+y0; plot(y) hold on ylim([0 max(y)]) 50 (Meteorer). Vi skal se på energien i meteorer som treffer månen og størrelsen på krateret de lager. 23

24 a. Den kinetiske energien til masse i bevegelse er K E = 1 2 mv 2 der K E er energien i Joule, m er massen i kg og v hastigheten i m/s. Hva er den kinetiske energien til en meteor på 5 g som beveger seg med v = 71 km/s (typisk hastighet i asteroidebeltet)? K_e =.5*0.005*32000^2; % = 1.26*10^7 Joule b. En ligning som blir brukt for å beregne diameteren på kratere på månen er der D at er Diameteren i meter, D at = 0.015ρ 1 6 p ρ 1 2 t W.37 sinφ 2 3 ρ p = 600 og ρ t 3000 er henholdsvis meteorens og månens tetthet i kg/m 3, W er prosentandelen av kollisjonsenergien som går med til å lage et krater, og φ er vinkelen på nedslaget i grader. Bruk W = 0.9K E, φ = 90 til å regne ut diameteren til krateret meteoren fra a. ville laget. ro_p = 600; % kg/m^3 ro_t = 3000; % kg/m^3 W =.9*K_e; % J i=90; D_at =.015*ro_p^(1/6)*ro_t^(-.5)*W^(.37)*sind(i)^(2/3); % 0.32 m c. ρ p = 600 er et ca. anslag, vis enten ved plott eller på andre måter hvordan kraterdiameteren avhenger av tettheten til meteoren og månen ved å variere ρ p og ρ t innenfor rimelige verdier (hvor stort ville krateret blitt dersom den var av feks is, jern, bly, gull?). Løsningsforslag: ρ i s = 920 D a t = 0.34m ρ j er n = 7870 D a t = 0.49m ρ bl y = D a t = 0.52m ρ g ull = D a t = 0.57m 24

25 d. La nå ρ p = 5000 men la den totale massen variere fra 1 g til 100 kg, og plott kraterstørrelsen som funksjon av vekten til meteoren. Husk å sette verdier på aksene. Hint: logspace(-3,2, 100) generer 100 verdier mellom 10 3 og 10 2 med logaritmisk avstand. Det går også an å bruke linspace her. v=logspace(-3,2, 100); W2=.9*.5.*v.*71000^2; D2=.015*ro_p^(1/6)*ro_t^(-.5).*W2.^(.37).*sind(i)^(2/3); plot(v,d2) e. Denne formelen gjelder strengt tatt kun for mindre kratere på månen, men vi kan teste hvor stor asteroiden som laget Chicxulub krateret på Yucatan halvøya må ha vært etter denne formelen. Krateret har en radius på 180 km og mange mener at det er dette nedslaget som utslettet dinosaurene. Bruk ρ t = 6000, ρ p = 3000 og resten som i b. og beregn massen. Hva med radiusen? Virker resultatene sannsynlig? Løsningsforslag: ca mass = 8*10^12 r = sqrt(m/(4*pi*ro)) % = ca 14 km som er ca 3x for stort stort. 51. I denne oppgaven skal vi se på en modell for samspillet mellom rovdyr og byttedyr. Vi lar x n og y n betegne hhv. antall rovdyr og antall byttedyr etter n uker, og vi antar at x n+1 = x n (1 r + c y n ) y n+1 = y n (1 dx n + q) der r, q, c og d er små, positive tall. a. Forklar tankegangen bak modellen. b. Velg r = 0.02, q = 0.04, c = , d = 0.001, x 1 = 50, y 1 = 200. Lag et program som regner ut x n og y n for n Plott følgene x n og y n i samme koordinatsystem. Hvorfor er toppene til x n forskjøvet i forhold til toppene til y n? 25

26 % rovdyr og byttedyr % antall dyr i en uke = antall dyr uka før - de døde + de nyfødte % antall nyfødte rovdyr avhengig av antall byttedyr % antall døde byttedyr avhengig av antall rovdyr nt=1000; % antall uker r=0.02; % def av fødselsrater og dødelighetrater q=0.04; c=0.0002; d=0.001; x=zeros(1,nt); y=zeros(1,nt); x(1)=50; % initialisering antall rovdyr y(1)=200; % initialisering antall byttedyr for n=2:nt x(n)=x(n-1)*(1-r+c*y(n-1)); y(n)=y(n-1)*(1-d*x(n-1)+q); figure hold on plot(x, r ) plot(y, b ) title( antall rovdyr (rød) og byttedyr (blå) ) hold off % er det mange byttedyr, øker antall rovdyr; er det få byttedyr, minker antall rovdyr 52. En dyrestamme består av tre årskull. Vi regner med at 40% av dyrene i det yngste årskullet lever videre året etter, mens 70% i det nest yngste årskullet lever videre året etter. Ingen dyr lever mer enn tre år. Et individ i det andre årskullet blir i gjennomsnitt forelder til 1.5 individer som blir født året etter. Et individ i det eldste årskullet blir i gjennomsnitt forelder til 1.4 individer som blir født året etter. La x n, y n, z n være antall dyr i hvert årskull etter n år, og forklar hvorfor x n+1 = 1.5y n + 1.4z n y n+1 = 0.4x n z n+1 = 0.7y n a. Anta at det er 100 dyr av hvert årskull det første året. Lag et program som regner ut x n, y n og z n for 1 n 100. Plott alle tre kurvene i samme vindu. Lag et nytt vindu der du plotter alle de relative bestandene x n = x n x n +y n +z n, y n = y n x n +y n +z n, z n = z n x n +y n +z n. 26

27 b. Gjenta a., men bruk andre startverdier, f.eks. x 1 = 300, y 1 = 0, z 1 = 0. Sammenlign med resultatene i 1. Gjør oppgavene a en gang med et nytt sett av startverdier. Ser du et mønster? : %oppgave med 3 årskull % x er antall yngste, y antall mellomste, og z antall eldste % indeksen k representerer hvilket år man er i. nt = 100; %antall år x=zeros(1,nt); y=zeros(1,nt); z=zeros(1,nt); x(1)=100; % initialisering antall dyr y(1)=100; z(1)=100; for k=2:nt % regne ut utviklingen x(k)=1.5*y(k-1)+1.4*z(k-1); y(k)=0.4*x(k-1); z(k)=0.7*y(k-1); figure hold on plot(x, : ) plot(y, -- ) plot(z, - ) %beregne og plotte de relative bestandene xr=x./(x+y+z) yr=y./(x+y+z) zr=z./(x+y+z) figure hold on plot(xr, : ) plot(yr, -- ) plot(zr, - ) 53. For å finne vinkelen til sola, θ 0, i forhold til et sted på jorda må man ta hensyn til tre vinkler. De er breddegrad, timevinkel og deklinasjonsvinkel. Breddegraden kalles φ og sier hvor langt nord-syd vi er i forhold til ekvator. Timevinkelen, h, forteller oss hvilken tid på døgnet det er. Timevinkelen er lik null midt på 27

28 dagen, og man legger til 15 grader(evt trekker fra) for hver time etter 12 (for hver time tidligere enn 12). Deklinasjonsvinkelen, δ, forteller om helningen til jorda i forhold til sola. Den er størst ved sommer- og vintersolverv, ±23.45 grader, og 0 ved høst-og vårjevndøgn. Formelen for å regne ut θ 0 er som følger: cos(θ 0 ) = sin(φ)sin(δ) + cos(φ)cos(δ)cos(h) a. Regn ut θ 0 for følge steder: 1. Oslo: 60N, kl 15.00, ved sommersolverv 2. New York City: 40N, kl 09.00, ved høstjevndøgn 3. Singapore: 1N, kl ved vårjevndøgn Løsningsforslag: Følge kode løser problemet: 1. Oslo: 60 N kl. 15:00, sommersolhverv f = 60; h = 45; delta = 23.45; Theta0 = asind(sind(f)*sind(delta) +cosd(f)*cosd(delta)*cosd(h)); og da er vinkelen θ New York: 40 N kl. 15:00, høstjevndøgn f = 40; h = -45; delta = 0; Theta0 = asind(sind(f)*sind(delta) +cosd(f)*cosd(delta)*cosd(h)); og da er vinkelen θ Singapore: 1 N kl. 12:00, vårjevndøgn f = 1; h = 0; delta = 0; Theta0 = asind(sind(f)*sind(delta) +cosd(f)*cosd(delta)*cosd(h)); og da er vinkelen θ 89 28

29 b. Nå skal vi se litt nærmere på når sola går opp og ned i Oslo og Tromsø: Oslo ligger 60N, mens Tromsø ligger 69N. I løpet av ett døgn varierer timevinkelen fra -180 ved midnatt til 180 ved midnatt ett døgn etter. Den skal være lik null kl Timevinkelen øker 15 grader pr. time. 1. Lag et array med lengde 24 som inneholder timevinklene fra midnatt til midnatt ett døgn senere. Hint: la timevinkelen variere fra -165 til 180, med skritt på La det være sommersolverv. Regn ut solvinklene for ett døgn for både Oslo og Tromsø. Plot resultatet i samme figur. Husk navn på aksene! 3. Plot en linje for θ 0 lik 90 i samme figur som i 1. Hva representerer denne linja? 4. Finn ut når sola går opp i Oslo og i Tromsø, og når den går ned. 5. Hvorfor er ikke θ 0 lik null midt på dagen? 6. La det så være vintersolverv. Gjør tilsvare som i oppgave 1) til 4) 7. Hvorfor får Tromsø så ekstreme verdier i forhold til Oslo? Løsningsforslag: Soloppgang og solnedgang i Oslo og Tromsø: 1. Følge kode løser problemet: h = -165:15:180; 2. Følge kode løser problemet: h = -165:15:180; f = 60; delta = 23.45; ThetaOslo = asind(sind(f)*sind(delta) +cosd(f)*cosd(delta)*cosd(h)); f = 69; ThetaTromso = asind(sind(f)*sind(delta) +cosd(f)*cosd(delta)*cosd(h)); hold on plot(thetaoslo); plot(thetatromso, r ); axis tight xlabel( Tid [24 timer] ); ylabel( Solvinkelen ); Title( Solvinkel for Oslo og Tromsø ); 29

30 3. Følge kode løser problemet: x = 1:24; plot(1:24,90, k* ); ylim([ ]); 4. Vi ser av figuren at Oslo har soloppgang ca. kl 03:00 og solnedgang ca. kl. 21:00. Tromsø har midnattssol og har derfor ikke soloppgang og solnedgang. 5. θ 0 er null bare ved ekvator. I Norge står sola i sør kl. 12: Her rere vi bare på delta variablen og gir den verdien grader før vi kjører programmene på nytt. 7. Fordi Tromsø ligger nord for polarsirkelen. c. Vi skal nå la timevinkelen være konstant lik null, dvs. at det er midt på dagen. Nå skal deklinasjonsvinkelen variere gjennom et helt år. Vi starter på sommersolverv. Deklinasjonsvinkelen pr. dag kan regnes ut vha: δ = cosd(m), der m = 0 : 360/364 : Regn ut hvordan solvinkelen for Oslo varierer i løpet av ett år. Gjør tilsvare beregninger for Tromsø. Plot resultatet i samme figur. 2. Hvor mange dager er uten sol i Tromsø? Har vi tilsvare dager i Oslo? Om du synes dette er gøy, gjør gjerne tilsvare oppgaver med andre byer. Informasjon om breddegrad finner du lett på Wikipedia. Løsningsforslag: Konstant timevinkel på 0 grader. 1. Følge kode løser problemet: h = 0; f = 60; m = 0:360/364:360; delta = * cosd(m); ThetaOslo = asind(sind(f)*sind(delta) +cosd(f)*cosd(delta)*cosd(h)); f = 69; ThetaTromso = asind(sind(f)*sind(delta) +cosd(f)*cosd(delta)*cosd(h)); hold on plot(thetaoslo); plot(thetatromso, r ); 30

31 axis tight xlabel( Dager [365] ); ylabel( Solvinkelen ); Title( Solvinkel for Oslo og Tromsø ); xlim([1 365]); ylim([ ]); plot(1:360,90, k ); 2. Tromsø har 53 dager uten sol og Oslo har ingen dager uten sol siden Oslo er sør for polarsirkelen. Vi kan lese dette ut fra figuren eller bruke en funksjon som heter find samt length slik length(find(thetatromso <= 0)) som gir antall dager der solvinkelen er mindre eller lik null (mørketid). 54. I denne oppgaven skal vi lage flere arrayer vi kan få bruk for. a. Lag et array x som går fra 0 til 2π, med 1000 punkter. Lag en figur der du plotter funksjonen S=sin(x). Løsningsforslag: Følge kode løser problemet: x = linspace(0,2*pi,1000); S = sin(x); plot(s); b. Man kan tilnærme funksjonen sin(x) med summen S m (x) = m j =0 ( 1) j 2j +1 x (2j + 1)!, der m er antall ledd i summen. Regn ut denne summen fra null til en gitt verdi m, som du setter i begynnelsen av programmet. m kan ha alle mulige positive verdier, men vi skal bruke verdier mellom 1 og 10. Bruk arrayen x som du definerte i a.. Selve for-løkka kan se slik ut: S_xm=0; for j = 1:m S_xm=S_xm+((-1)^(j-1)*(x.^(2*(j-1)+1))/factorial(2*(j-1)+1)); S_xm vil etter denne løkka være et array du kan plotte. factorial er Matlabfunksjonen for fakultet. Løsningsforslag: Følge kode løser problemet: 31

32 x = linspace(0,2*pi,1000); m = 10; S_xm = 0; for i = 1:m S_xm=S_xm+((-1)^(i-1)*(x.^(2*(i-1)+1))/factorial(2*(i-1)+1)); c. Lag en figur der du plotter sin(x) og S m (x). Ha ulik farge på de to grafene. Start med m = 1 og lag nye figurer for forskjellige m-verdier mellom 1 og 10. Forklar hva du ser. Hint: det kan være lurt å angi verdiene for y-aksen: ylim([min(s) max(s)]), der S=sin(x) fra a.. Løsningsforslag: Følge kode løser problemet: x = linspace(0,2*pi,1000); m = 10; S_xm = 0; for i = 0:m S_xm = S_xm+((-1)^(i)*(x.^(2*(i)+1))/factorial(2*(i)+1)); S = sin(x); plot(s); hold on; plot(s_xm, r ); ylim([min(s) max(s)]); Vi ser her at når m >= 10 så har vi en sammenfalle kurve med sin(x). 55. Kandidatene 1 til 10 har fått følge poengsum på eksamen: 51, 42, 70, 99, 65, 12, 78, 67, 33 og 90. Lag et program som skriver ut, med en linje per kandidat, kandidatnummer og hvor mange poeng kandidaten har fått. png=[ ]; %poeng per kandidat n=length(png); for j=1:n fprintf( Kandidat %i har fått %i poeng,j,png(j)) 32

33 Legg merke til at vi bruker indeksvariabelen j både til kandidatnummer og som indeks. 56. I denne oppgaven skal vi se mer på hvordan vi kan aksessere tegnene i en strengvariabel. a. Lag en strengvariabel az som inneholder alle bokstavene i alfabetet. az= abcdefghijklmnopqrstuvwxyz ; b. Hva blir H når: H(1)=az(8), H(2)= az(5), og H(3)= az(9)? Løsningsforslag: hei c. Skriv navnet ditt ved å trekke ut de riktige bokstavene fra az Hint: Trenger du mellomrom kan du legge til dette på slutten av alfabetet. disp([az(1),az(4),az(1)]) d. Bruk en løkke til å lage strengvariabelen za, som er alfabetet baklengs. n=length(az) for i=1:n za(i)=az(n+1-i); 57. gitt løkka: m=0; for i=1:10 m=m+i; a. Bruk sprintf til å skrive ut verdien til m for hvert steg i løkka sammen med hvilket steg det er i løkka Løsningsforslag: 33

34 m=0; for i=1:10 m=m+i; fprintf( verdien av m er %d og det er gått %d iterasjoner.,m,i) b. La m starte på 0.5, og gjenta det samme, slik at m får to desimaler. Løsningsforslag: m=0.5; fprintf( verdien av m er %.2f og det er gått %d iterasjoner.,m,i) 58. Gitt strengvariabelen tall = ( u2 liv3 4ever ). a. Bruk str2num til å legge sammen tallene i denne teksten. Løsningsforslag: a=str2num(tall(2))+str2num(tall(7))+str2num(tall(9)) b. Hva får du om du ikke bruker str2num? 59. Gitt strengvariablene dato1 = ; dato2 = ; dato3 = 5/01/2008 ; a. Bruk num2str, str2num og fprintf til å skrive ut disse datoene på formen Denne datoen er fra året yyyy og dagen er dd i mm b. Vanskelig: istedenfor tallet til måneden, skriv forkortelsen på tre bokstaver til den aktuelle måneden, som jan, feb, mar, osv. Denne datoen er fra året yyyy og dagen er dd.mnd dato1 = ; dato2 = ( ); dato3 = ( 5/01/2008 ); 34

35 dato = num2str(dato1); mnd1=str2num(dato(5:6)); dag1=str2num(dato(7:8)); aar1=str2num(dato(1:4)); fprintf( Denne datoen er fra året %d og dagen er %d i %2.d,aar1,dag1,mnd1) dag2=str2num(dato2(6:7)); mnd2=str2num(dato2(9:10)); aar2=str2num(dato2(1:4)); fprintf( Denne datoen er fra året %d og dagen er %d i %2.d,aar2,dag2,mnd2) dag=str2num(dato3(1)); mnd=str2num(dato3(3:4)); aar=str2num(dato3(6:9)); fprintf( Denne datoen er fra året %d og dagen er %d i %2.d,aar,dag,mnd) if mnd == 1 mnd= jan ; elseif mnd == 2 mnd = feb ; elseif mnd == 3; mnd = mar ; %osv fprintf( Denne datoen er fra året %d og dagen er %d.%s,aar,dag,mnd) 60. Skriv inn matrisene og A = B = og gjennomfør operasjonene C=[A,B] C(2,4) C(:,[2 3]) 35

36 C([1 3],3:5) For å få noe ut av oppgaven bø den gjøres først uten å bruke Matlab. Løsningsforslag: Svarene er: C = C(2,4) = 4 C(:,[2 3]) = C([1 3],3:5) = Undersøk hva kommandoen» [A;B] gjør når A og B er to matriser. 62. På begynnelsen av denne seksjonen har du fått oppgitt temperaturutviklingen på 4 målestasjoner. a. Regn ut temperaturforskjellene mellom stasjon 4 og stasjon 1 på alle dagene. b. Plott temperatur som en funksjon av tid på de fire målestasjonene i samme figur. Sett navn på begge aksene på figuren. T=[ ; ; ; ] t1=t(1,:) t2=t(2,:) t3=t(3,:) t4=t(4,:) figure hold on plot(t1, r ) 36

37 plot(t2, g ) plot(t3, k ) plot(t4, b ) xlabel( dag nummer ) ylabel( temperatur i Celsius grader ) 63. Gitt matrisen T=[ ; ] Matrisen T inneholder temperaturer fra 2 målestasjoner. Det er tatt en temperaturmåling pr. dag. Skriv matrisen inn i Matlab. Plott temperaturene fra de to stasjonene i samme figur, og bruk ulike farger på kurvene. Sett navn på aksene. La x-aksen gå fra 1 til 12. Lag stjerner i grønt som angir der temperaturen er lik null i figuren. Løsningsforslag: Følge kode løser problement: T = [ ; ]; x = 1:12; plot(x,t(1,:)); hold on plot(x,t(2,:), r ); plot(x,0, g* ); xlabel( Tid ); ylabel( Temperatur ); 64. Gitt matrisen A = [ ; ] B= [10 11; 12 13] a. Hvor mange rader/kolonner har A og B? Løsningsforslag: A har to rader og fire kolonner. B har to rader og to kolonner. b. Hvor mange rader/kolonner har C = [A, B]? Løsningsforslag: C = [A,B] har to rder og seks kolonner. c. Hvilken rad i C er lengst? Løsningsforslag: Radene i C er like lange. d. D = [C (:, 3 : 4)] Hvor mange rader/kolonner har D? Løsningsforslag: D har to rader og to kolonner. 37

38 65. Gitt matrisen P = [1 2; 3 4; 5 6; 7 8] Q= [10; 11; 12; 13] a. Hvor mange rader/kolonner har P og Q? Løsningsforslag: P har 4 rader og 2 kolonner. Q har 4 rader og 1 kolonne. b. Hvor mange rader/kolonner har R = [P,Q]? Løsningsforslag: R = [P,Q] har 4 rader og 3 kolonner. c. Hva blir P(1,2) +Q(2,1) Q(4,1)? Hvilke tall inngikk i regnestykket? Løsningsforslag: P(1,2) -> 2, Q(2,1) -> 11, Q(4,1) -> 13 så vi får som blir 0. d. Lag arrayer av hver kolonne i R. Løsningsforslag: Følge kode løser problement: Rc1 = R(:,1); Rc2 = R(:,2); Rc3 = R(:,3); e. Lag arrayer av hver rad i R. Løsningsforslag: Følge kode løser problement: Rr1 = R(1,:); Rr2 = R(2,:); Rr3 = R(3,:); Rr4 = R(4,:); f. Vanskelig: Klarer du ved hjelp av disse arrayene å lage matrisene Z = P og Y = Q? Løsningsforslag: Z=[Rc1,Rc2]; Y=Rc3; 66. Lag en matrise der første kolonne inneholder temperaturene fra 0 til 40 grader i Celsius, andre kolonne inneholder de tilsvare temperaturer i Fahrenheit, og tredje kolonne inneholder tilsvare temperaturer i Kelvin. Sammenhengen mellom Celsius(C) og Fahrenheit(F) er F = 1.8C + 32, og mellom Celsius 38

39 (C) og Kelvin (K) K = C + 273,15. Nb: Gjør dette ved å programmere, ikke skriv inn alle verdiene for hånd! T=0:40; F=(T*1.8)+32; K=T-273; t=[t; F; K]; t eller T = zeros(41,3); T(:,1) = 0:40; T(:,2) = T(:,1).* ; T(:,3) = T(:,1) ; 67. Lag en matrise med 5 rader og 5 kolonner der tallet i hvert punkt er gitt ved radnr*kolonnenr. Løsningsforslag: Følge kode løser problement: M = zeros(5,5); for j = 1:5 for i = 1:5 M(i,j) = i*j; 68. Vi definerer matrisen M = a. Legg inn matrisen i Matlab. Løsningsforslag: M = [ ; 0 1 2; 1 2 3]; b. Lag matrisen N som har radene til M som kolonner og kolonnene til M som rader. Løsningsforslag: 39

40 N = M ; c. Gir N(1:2, 2:3) og M(1:2, 2:3) det samme svaret? Løsningsforslag: Nei siden matrise N er den transponerte av matrise M. d. Gir N(1,1) og M(1:1,2:3) det samme svaret? Løsningsforslag: Nei siden vi bruker bare et element fra N og to elementer fra M. 69 (Flervalgsoppgave, kun ett riktig svar). For å få noe ut av oppgaven bør den gjøres uten å bruke Matlab. Hvilket av følge utsagn er sanne? Art = [1 1.2; 2.1 2; 7 8.9] Gir feilmelding siden dimensjonene ikke stemmer Ar t = ( ) Ar t = Ar t(1 : 3) = 7 Løsningsforslag: Det andre alternativet er riktig. 70 (Flervalgsoppgave, kun ett riktig svar). Hvilket av følge utsagn er sanne? En matrise kan ikke ha forskjellig antall rader og kolonner. Antall rader i en matrise varierer med hvilken kolonne du er i. Matriser brukes sjelden av proffe programmerere siden du mister kontrollen over data. Matriser kan ha mange flere enn 3 dimensjoner. Løsningsforslag: Det fjerde alternativet er riktig. 71. Gitt matrisen T=[ ; ] Matrisen T inneholder temperaturer fra 2 målestasjoner over 12 dager. a. Lag et array av hver rad i matrisen. 40

41 b. Legg til en tredje målestasjon med målingene slik at T nå har 3 rader. c. Finn temperaturene på dag 7. d. Lag en matrise som kun inneholder en ukes observasjoner som starter på dag 3 e. Lagre arbeidet ditt i en m fil eller diary. : T=[ ; ]; T1=T(1,:); %a T2=T(2,:); T3=[ ]; %b T=[T;T3]; Tdag7=T(:,7); %c Tuke=T(:,3:9); %d 72. Opprett arrayen» G=linspace(0,10,100); a. Hva blir summen av denne? b. Hvor lang er denne arrayen? c. Del arrayen opp i to arrayer, E og F, der E inneholder den første halvdelen av G, og F den andre halvdelen. d. Hva blir gjennomsnittet av F E? G=linspace(0,10,100); sum(g) length(g) E=G(1:50); F=G(51:100); H=F-E; mean(h) 41

42 hvor svarene er 500 og 100 for a) og b) 73. På begynnelsen av seksjonen om matriser har du fått oppgitt temperaturutvikling i 7 dager fra 4 stasjoner som ligger i samme område. a. Lag en figur over temperaturen som en funksjon av tid ved de 4 stasjonene. figure(1) plot(t(:,1)) hold on plot(t(:,2), r ) plot(t(:,3), k ) plot(t(:,4), g ) leg( st.1, st.2, st.3, st.4 ) title( Temperatur for fire stasjoner ); xlabel( Tid ); ylabel( Temperatur ) b. Beregn den gjennomsnittlige temperaturen for hver dag i dette området. Beregn også standardavviket. Bruk figuren fra a. for å kontrollere om verdiene du får her virker korrekte. Tmean = mean(t); disp(tmean) Tstd = std(t); disp(tstd) 74. Legg vannførselen for elvene fra tabellen nedenfor inn i en vektor med navn Vann. a. Beregn kun ved hjelp av arrayoperasjoner: 1. Total vannførsel. 2. Gjennomsnittslig vannførsel for elvene. 3. gjennomsnittet og summen av vannførselen dersom vi ikke regner med Amazonas. 4. Siden Madeira renner ut i Amazonas ønsker vi også å beregne uten denne. Hva blir nå total vannmengde (inkl. Amazonas)? 42

43 Tabell 1: Verdens 12 største elver etter vannførsel [m 3 /s]: # Navn Vannførsel [m 3 /s] lengde [km] 1) Amazonas ) Congo ) Ganges ) Orinoco ) Yangtze ) Rio Negro ) Parana ) Yenisei ) Lena ) Madeira ) Mississipi ) Mekong VANSKELIG: Hva blir snittet uten Madeira (inkl.amazonas)? Legg så lengdene til elvene inn i en vektor ved navn Lengde. b. Hvor lange er elvene til sammen? c. Gjør følge: 1. Gang elvens lengde [km] med dens vannførsel og lagre resultatet i et array Vannlengde 2. Hva blir gjennomsnittet til Vannlengde? 3. Hvilken elv er minst ved denne måten å se det på? -og hvor stor er den? Løsningsforslag: Svarene er Vann= [ ]; 1.a) sum(vann) = [m^3/s] 1.b) mean(vann) = [m^3/s] 1.c) sum(vann(2:12)) = [m^3/s] mean(vann(2:12))= [m^3/s] 43

44 1.d) sum(vann(1:9))+sum(vann(11:12))= e) Feks: (sum(vann(1:9))+sum(vann(11:12)))/(length(vann)-1)= Lengde =[ ]; 2. sum(lengde) = a) Vann.*Lengde 3.b) mean(vannlengde)= *10^8 3.c) min(vannlengde)= *10^7 75. Befolkningstallene nedenforer hentet fra Wikipedia i April Tabell 2: Land med høyest befolkning # Land Befolkning % av verdens befolkning 1) Kina 1,337,030, % 2) India 1,179,744, % 3) USA 309,034, % 4) Indonesia 231,369, % 5) Brasil 192,801, % 6) Pakistan 169,274, % 7) Bangladesh 162,221, % 8) Nigeria 154,729, % 9) Russland 141,927, % 10) Japan 127,380, % 11) Mexico 107,550, % 12) Filippinene 92,226, % På samme tidspunkt var verdens befolkning totalt milliarder. Legg tallene over befolkningen i de 12 landene inn i et array som du kaller populasjon. clear all close all befolkning=[ ]; prosent= [ ]; land=char( Kina, India, USA, Indonesia, Brasil, Pakistan,... Bangladesh, Nigeria, Russland, Japan, Mexico, Filippinene ); 44

45 %oppg a bar(befolkning) set(gca, XTickLabel,land); ylabel( Befolkning ) title( De 12 mest befolkede landene i verden ) %oppg b summen = sum(befolkning); %oppg c snitt=mean(befolkning); avvik=std(befolkning); %oppg d andel =sum(prosent); %oppg e norge= ; del_12=norge/snitt; %oppg f verden = 6.816*1e9; del_verden=norge/verden; %oppg g befolkning2=befolkning(3:length(befolkning)); prosent2= prosent(3:length(prosent)); summen = sum(befolkning2); snitt=mean(befolkning2); avvik=std(befolkning2); andel =sum(prosent2); del_12=norge/snitt; a. Lag et søylediagram over befolkningen i de 12 landene. b. Finn summen av befolkningen i de 12 landene. Løsningsforslag: c. Finn gjennomsnittet og standardavviket. Løsningsforslag: Gjennomsnitt: , standardavvik: d. Hvor stor del av jordas befolkning bor i de 12 mest befolkede landene? Løsningsforslag: 61.71% e. Pr. 1. Januar 2010 var befolkningen i Norge 4,858,200. Hvor mange prosent er dette i forhold til gjennomsnittet du fant i c.? Løsningsforslag: 0.014% 45

46 f. Hvor mange prosent er Norges befolkning av jordas befolkning? Løsningsforslag: % g. Kina og India har stor innvirkning på tallene du får siden det bor så mange her. Gjør oppgave b.-e. en gang til uten tallene for Kina og India, og se om du får et veldig ulikt resultat. Løsningsforslag: Vi får nå svarene b c Gjennomsnitt: , standardavvik: d 24.78% e % 76. Finn, uten å programmere, om det siste uttrykket er sant eller ikke. a=2; b=2*a; c=45; d=c-10*b; a<d & (b>c d<c) & ~(a==b) Kontroller med Matlab om du har riktig svar. Løsningsforslag: Hvordan man går fram: Regne ut verdiene: a=2 b=4 c=45 d=5 Sammenligne og kombinere sammenlignigene: 1.: a<d: sant 2.: b>c ikke sant; 3.: d<c sant; 4.: derfor blir 2. eller 3. sant 5.: a ulik b sant 6.: baade 1. og 4. og 5. er sant; derfor er det totale sant. 77. Skriv i en enklere form følge test: if ~(a>b) og test med noen verdier av a og b. 46

47 if a<=b 78. Funksjonen arcsin(a) er definert bare hvis verdien til a er mellom -1 og 1. Lag et program som tester verdien av a, tar arcsin hvis mulig, eller skriver ut en melding hvis det ikke går an å ta arcsin av a. if (abs(a)>1) disp ( arcsin kan ikke regnes ut for denne a ) else b=arcsin(a) 79. La oss lage et par typer enkle if-tester. a. Lag en if-test som tester om en tallvariabel er et heltall. a= 3.000; b= ceil(a); %fix, floor, round funker også if a==b disp( heltall ) else disp( ikke heltall ) b. Lag en if-test som tester om et heltall er partall eller oddetall. b=a/2; c=ceil(b); if a==b disp( partall ) else disp( oddetall ) c. Lag en if-test som tester hvilken variabel som er størst og deretter setter begge variablene lik hverandre. 47

48 if a <=b a=b else b=a 80. For å få noe utbytte av denne oppgaven må man la være å programmere den, og heller tenke gjennom den. a=2; b=3; if (a>1 & b<3) disp( ja ) else disp( nei ) a. Hva skrives ut? Hvorfor? Løsningsforslag: nei b. Hva skrives ut om a=0 og b=5? Løsningsforslag: nei c. Hva skrives ut dersom a=1 og b=4? Løsningsforslag: nei d. Hva skrives ut dersom a=2 og b=3? Løsningsforslag: nei 81. For å få noe utbytte av denne oppgaven må man la være å programmere den, og heller tenke gjennom den. a=2; b=3; if (a>1 b<3) disp( ja ) else disp( nei ) 48

49 a. Hva skrives ut? Hvorfor? Løsningsforslag: a>1 : sant; b<3 : feil, derfor feil; derfor nei. b. Hva skrives ut om a=0 og b=5? Løsningsforslag: a>1 : feil; b<3 : feil, derfor feil; derfor nei. c. Hva skrives ut dersom a=1 og b=4? Løsningsforslag: a>1 : feil; b<3 : feil, derfor feil; derfor nei. d. Hva skrives ut dersom a=2 og b=3? Løsningsforslag: a>1 : sant; b<3 : feil, derfor feil; derfor nei. 82. For å få noe utbytte av denne oppgaven må man la være å programmere den, og heller tenke gjennom den. a=1; b=3; if a>1 & b<3 disp( ja ) if a<1 & b>3 disp( hmm ) else disp( nei ) a. Hva skrives ut? Hvorfor? Løsningsforslag: nei b. Hva skrives ut om a=0 og b=5? Løsningsforslag: hmm c. Hva skrives ut dersom a=1 og b=4? Løsningsforslag: nei d. Hva skrives ut dersom a=2 og b=2? Løsningsforslag: ja nei e. Hva skrives ut dersom a=2 og b=3? Løsningsforslag: nei 49

50 f. Hvilke verdier kan a og b ha for at bare nei skal bli skrevet ut? Løsningsforslag: enten må a være lik 1 eller b lik Vi skal nå se litt på hvordan man kan bruke en if-test i en løkke. a. Lag en løkke som teller fra 1 til 100, og bruk denne løkken til å lage et array A, som inneholder verdiene 1 til 100 i stige rekkefølge. Løsningsforslag: Denne koden kan brukes: A = []; for i = 1:100 A(i) = i; b. Bruk samme løkke og en if-test til å lage et array B som inneholder alle tallene i løkka som går opp i 10. Løsningsforslag: Kode som løser problemet: B = []; j = 1; for i = 1:100 if(floor(i/10) == ceil(i/10)) B(j) = i; j = j + 1; c. Gjør om det inne i løkka slik at de tallene som er i B ikke er med i A. Hvor lange blir array A og B da? Løsningsforslag: Løsningsforslag: A = []; B = []; j = 1; k = 1; for i = 1:100 if(floor(i/10) == ceil(i/10)) B(j) = i; j = j + 1; else A(k) = i 50

51 k = k + 1; Lengdene : 10 og Kandidatene 1 til 10 har fått følge poengsum på eksamen: 51, 42, 70, 99, 65, 12, 78, 67, 33 og 90. Kandidatene står hvis de har minst 44 poeng. Lag et program som skriver ut, med en linje per kandidat, kandidatnummer og om han har stått eksamen eller ikke. png=[ ]; %poeng per kandidat grense=44; n=length(png); for i=1:n if png(i)<grense disp(sprintf( Kandidat %i har ikke bestått,i)) else disp(sprintf( Kandidat %i har bestått,i)) 85. Beregn snødybde ut fra følge meteorologiske data. Temperatur per dag i Celsius ( ) Nedbør per dag i millimeter ( ) Anta at det ikke var snø da målingene startet og at nedbør kommer som snø når det er temperatur mindre eller lik 1 C (1 mm nedbør gir omtrent 1 cm snø). Anta videre at ingen snø smelter. Lag et søylediagram over snødybde som funksjon av tid. : temp=[ ]; ned=[ ]; snotot=0; for i=1:length(temp); if (temp(i)<=1); 51

52 snotot=snotot+ned(i); sno(i)=snotot; bar(sno) ylabel snødypte (i cm) xlabel dag 86. Gitt en serie observasjoner av jordskjelv ved deres seismiske energi. Richter=[5.5, 5.3, 2.9, 3.6, 4.1, 5.2, 3.7, 4.4, 6.9, 5.8, 4.0]; Richters skala beskriver energien i et jordskjelv. a. Bruk en if-test til å legge disse jordskjelvene inn i 3 kategorier Lett skjelv ML <= 4 Medium skjelv 4 < ML < 5.5 Alvorlig skjelv M L >= 5.5 Løsningsforslag: Denne koden løser problemet: Ls = 0; Ms = 0; Ks = 0; for i = 1:length(Richter) if(richter(i) <= 4) Ls = Ls + 1; if(richter(i) > 4 & Richter(i) < 5.5) Ms = Ms + 1; if(richter(i) >= 5.5) Ks = Ks + 1; b. Skriv til skjerm hver gang det er et medium eller kraftig skjelv, og hvor mange slike skjelv det har vært tidligere. Løsningsforslag: Kode som løser problemet Ls = 0; Ms = 0; 52

53 Ks = 0; for i = 1:length(Richter) if(richter(i) <= 4) disp([ Et lett jordskjelv med styrke,num2str(richter(i))]); disp([ Det har vært,num2str(ls), slike skjelv tidligere ]); Ls = Ls + 1; disp( ) if(richter(i) > 4 & Richter(i) < 5.5) disp([ Et medium jordskjelv med styrke,num2str(richter(i))]); disp([ Det har vært,num2str(ms), slike skjelv tidligere ]); disp( ) Ms = Ms + 1; if(richter(i) >= 5.5) disp([ Et kraftig jordskjelv med styrke,num2str(richter(i))]); disp([ Det har vært,num2str(ks), slike skjelv tidligere ]); disp( ) Ks = Ks + 1; c. Forskjellen i energi mellom to skjelv kan beskrives ved E = (m 1 m 2 ) Hvor mange ganger mer energi er det i det største skjelvet i serien enn i det minste? Løsningsforslag: Kode som løser problemet minste = min(richter); meste = max(richter); forskjell = exp((2/3)*(meste - minste)); Det er 14.4 ganger mer energi i det største i forhold til det minste. 87. Lage matriser ved hjelp av to for-løkker. a. Lag en 2 6-matrise M der verdien i hvert punkt er gitt av radnr. M=zeros(2,6); for j=1:6 for 1=1:2 53

54 M(i,j)= i; b. Lag en 6 2-matrise N der verdien i hvert punkt er gitt av kolonnenr i samme for-løkker som i a. M=zeros(2,6); N=zeros(6,2); for j=1:6 for 1=1:2 M(i,j)= i; N(j,i)= j; c. Lag en 5 3-matrise P der tallet i hvert punkt er gitt ved radnr*kolonnenr ved å bruke to for-løkker. P=zeros(5,3); for i=1:5 for j=1:5 P(j,i)= j*i; d (vanskelig). Lag matrisene fra a., b. og c. samtidig ved å bruke kun to for-løkker. Hint: bruk if-tester. M=zeros(2,6); N=zeros(6,2); P=zeros(5,3); for i=1:6 for j=1:6 if j<3 M(j,i)= j; 54

55 if i<3 N(i,j)= i; if j<6 & i<6 P(j,i)= j*i; 88. La oss igjen se på partall og oddetall. a. Lag en while-løkke som setter de n første oddetallene i et array. Sett n lik et tall i begynnelsen av programmet og lag så en while-løkke der du lager et array med n oddetall. n=10; odde=zeros(1,n); odde(1)=1; i=2; while i <= n odde(i)= odde(i-1)+2; i=i+1; b. Gjør om på programmet fra a. slik at while-løkken nå lager de n første partallene. n=10; par=zeros(1,n); par(1)=2; i=2; while i <= n par(i)= par(i-1)+2; i=i+1; 55

56 c. Bruk en for-løkke til å programmere de n første kvadrattallene. Legg tallene i et arrray som du kaller kvadrat. n=10; kvadrat = zeros(1,n); for i = 1:n kvadrat(i)=i^2; d. Bruk så en while-løkke til å løse c. Kall arrayet kvadrat2. Er kvadrat og kvadrat2 like? (Hvis ikke har du gjort noe feil;) n=10; kvadrat2 = zeros(1,n); i=1; while i <= n kvadrat2(i)=i^2; i=i+1; 89. I denne oppgaven skal vi lage arrayer fra noen mye brukte rekker. a. Bruk en løkke, for eller while, til å beregne M for M lik 100, 1000 og 10000? Løsningsforslag: Denne koden løser problemet: i=1 1 i. Hva blir summen S = zeros(1,3); M = [100, 1000, 10000]; for j = 1:length(M) S = 0; for i = 1:M(j) S(j) = S(j) + 1/i; disp([ For M =,num2str(m(j)), er summen, num2str(s(j))]); 56

57 For M = 100 er summen For M = 1000 er summen For M = er summen i 2 for de samme M-verdiene. Hva er forskjellen fra sum- b. Beregn så M men i a.? i=1 Løsningsforslag: Denne koden løser problemet: S = zeros(1,3); M = [100, 1000, 10000]; for j = 1:length(M) S = 0; for i = 1:M(j) S(j) = S(j) + 1/i^2; disp([ For M =,num2str(m(j)), er summen, num2str(s(j))]); figure hold on plot (S) plot (S2) hold off For M = 100 er summen For M = 1000 er summen For M = er summen Om du vil kan du lage arrayer av de to rekkene i a. og b., og så plotte resultatet. Da ser du godt forskjellen. 90. Sett alle verdiene til matrisen gitt på begynnelsen av Kapittel?? i en fil som du kaller temp.dat, og les den inn i Matlab. Pass på at du ikke har noen andre tegn enn tallene og mellomrom i fila. Altså ingen semikolon, parenteser osv. 91. Les inn dataene fra fila glomma.dat (denne er i GEO1040-format). Løsningsforslag: Her må vi bruke read_1040 funksjonen for å laste inn verdiene fra glomma.dat. [H M] = read_1040( glomma.dat,3, ); der det første argumentet er filnavnet, det neste er antall headerlinjer og det siste er separatoren som i dette tilfellet er mellomrom. 57

58 92. les inn filene fil1.dat, fil2.dat, og fil3.dat som tre variable fil1, fil2, og fil3. a. Hvor mange rader har henholdsvis fil1, fil2, og fil3? Løsningsforslag: fil1:4, fil2:16, fil3:4 b. Hvor mange kolonner har henholdsvis fil1, fil2, og fil3? Løsningsforslag: fil1:18, fil2:1, fil3:4 c. Hvor mange tall er det i hver av de tre filene? Løsningsforslag: fil1.dat: 4x18, fil2.dat: 16x1, fil3.dat: 4x4 d. Legg radene i fil1 inn i arrayer. rad1=fil1(1,:),rad2=fil1(2,:),rad3=fil1(3,:),rad4=fil1(4,:) e. Legg kolonnene i fil3 inn i arrayer. kolonne1=fil3(:,1),kolonne2=fil3(:,2),kolonne3=fil3(:,3),kolonne4=fil3(:,4) f. Finn summen av kolonnene i fil3. sum1=sum(rad1)=69, osv g. Finn summen av radene i fil1. sum1=sum(kolonne1)=242, osv. h. Finn summen av alle tallene i fil2. sum(fil2)=185 i. Hva er gjennomsnittet av kolonnene i fil1? snitt1=mean(fil1(:,1))=2.5, osv 58

59 j. Hva er gjennomsnittet av radene i fil3? snitt1=mean(fil3(1,:))=1423.2, osv. k. Hva er gjennomsnittet av fil2? snitt=mean(fil2)=11.56 l. Hva er summen av alle tallene i de tre filene til sammen? sum(sum(fil1))+sum(fil2)+sum(sum(fil3))=11827 m. Hva er gjennomsnittet av alle tallene i de tre filene til sammen? mean(mean(mean(fil1))+mean(fil2)+mean(mean(fil3)))= Les inn filen temp.dat. Lag en figur der du plotter temperatur, og en linje som markerer null grader. Sett navn på aksene og en tittel på grafen. load temp.dat plot(temp) hold on plot(1:length(temp),0, g ) xlabel( dager ) ylabel( grader ) title( Temperaturdata ) 94. Filen TempNedborVind.dat inneholder temperatur-, nedbør- og vinddata for ett år. De 365 plassene inneholder temperaturer i Celsius, de neste 365 plassene inneholder nedbør i mm og de siste 365 plassene inneholder vindstyrke gitt i m/s. Du skal lese inn filen og lage tre arrayer, med henholdsvis temperatur, nedbør, og vind. Lag så tre figurer der du plotter arrayene. Husk navn på akser og tittel. 59

60 load TempNedborVind.dat temperatur=tempnedborvind(1:365); nedbor=tempnedborvind(365:730); vind=tempnedborvind(730:1095); subplot(1,3,1) plot(temperatur) xlabel( dager ) ylabel( grader [C] ) title( temperatur ) subplot(1,3,2) plot(nedbor, g ) xlabel( dager ) ylabel( [mm] ) title( nedb{\o}r ) subplot(1,3,3) plot(vind, r ) xlabel( dager ) ylabel( [m/s] ) title( vind ) 95. Les inn filen dallas_temp.dat. Første kolonne inneholder måned, andre kolonne dag, tredje kolonne år, og siste kolonne temperatur i Fahrenheit. a. Les inn de fire kolonnene og legg dem i fire forskjellige arrayer som du kaller mnd, dag, aar, og temp. load dallas_temp.dat mnd = dallas_temp(:,1); dag = dallas_temp(:,2); aar=dallas_temp(:,3); temp = dallas_temp(:,4); b. Gjør om temperaturene i temp fra Fahrenheit til Celsius ved hjelp av formelen C = (F 32)/1.8. Kall den nye temperaturarrayen temp2. for i = 1:length(temp) temp2(i)=(temp(i)-32)/1.8; 60

61 c. Lag en figur der du plotter temp2. Lag en linje i samme figur som markerer null grader. Sett navn på akser, og en tittel på figuren. plot(temp2) hold on plot(1:length(temp2),0, g ) d. To steder ser du målefeil. Der er temperaturen lik 99 Fahrenheit, eller Celsius. Lag en løkke der du løper gjennom temp, tester om temperaturen er 99F, og om den er det erstatter du temperaturen med temperaturen fra dagen før. Gjør så b. og c. om igjen. Hint: Det er mye lettere å gjøre dette med temp enn med temp2, siden temp har eksakt 99F som verdi for målefeil. for i = 1:length(temp) if temp(i)==-99 temp(i)=temp(i-1); for i = 1:length(temp) temp2(i)=(temp(i)-32)/1.8; plot(temp2) 96. Tegn grafene til disse funksjonene: f (x, y) = x 2 y 2, g (x, y) = sin x y 2 +x 2, h(x, y) = sin(e x+y ) for x mellom 0 og 2 og y mellom 1 og 2. Finn selv hvilken inndeling av aksene som trengs for at alle funksjonene skal være bra representert. Vri på flatene for å få et best mulig inntrykk. Løsningsforslag: Vi prøver forskjellige inndelinger. Funksjonen h trenger at x- og y-aksene er findelt for at grafen skal kunne se bra ut. X = 0:0.01:2; Y = 1:0.01:2; [x,y]=meshgrid(x,y); 61

62 f = x.^2.* y.^2; g = (sin(x)./y.^2) + x.^2; h = sin(exp(x+y)); figure(1) mesh(x,y,f) title( funksjon f ) xlabel( x ) ylabel( y ) zlabel( f ) figure(2) mesh(x,y,g) title( funksjon g ) xlabel( x ) ylabel( y ) zlabel( g ) figure(3) mesh(x,y,h) title( funksjon h ) xlabel( x ) ylabel( y ) zlabel( h ) 97. Tegn kurvene r 1 (t) = (t, t 2,sin t) og r 2 (t) = (sin 2 t,cos 2 t,e t ) for t fra 0 til 10π. Velg selv inndeling av t-intervallet. Vri på koordinatsystemet for å se kurvene best mulig. Løsningsforslag: Mulig kode: t = linspace(0,10*pi,100); figure(1) plot3(t,t.^2, sin(t)) xlabel( t ) ylabel( t squared ) zlabel( sin(t) ) figure(2) plot3(sin(t).^2, cos(t).^2,exp(-t)) xlabel( sin(t) squared ) ylabel( cos(t) squared ) zlabel( exp(-t) ) 98. Bruk kommandoen plot3 til å lage en tredimensjonal strektegning av en terning. 62

63 99. Tegn grafen til funksjonen s(x, y) = sin(πx) sin(πy). La x=y=linspace(0,4,n). Varier antall punkter, n, for å se hvordan dette rer flaten. Løsningsforslag: Mulig kode for eggboks funksjonen: n=100; x=linspace(0,4,n); y=linspace(0,4,n); [X,Y]=meshgrid(x,y); s = sin(pi*x).*sin(pi*y); figure mesh(x,y,s) title( funksjon sin*sin ) xlabel( x ) ylabel( y ) zlabel( s ) 100. Lag en funksjon som returner minimumsverdien i en 3 3-matrise. function [amin]=minmat3(a) b=min(a); c=min(b); amin=min(c); eller function [amin]=minmat3(a) amin=min(min(min(a))); 101. Lag en funksjon som returner både gjennomsnitt og standardavvik av verdiene i et array. Sjekk at dine resultater er riktig ved hjelp av de to innebygde funksjonene mean(x) og std(x), men ikke bruk dem i din egen funksjon. function [g,s]=gjennom(a) n=length(a) temp=0; for i=1:n temp=temp+a(i); g=temp/n temp=0; 63

64 for i=1:n temp=temp+(a(i)-g)^2; s=sqrt(temp/(n-1)) 102. Lag en funksjon som regner ut leddene i følgen {x n } gitt ved: x n+2 = ax n+1 + bx n x 1 = c, x 2 = d Filen skal ha inn-parametre a,b,c,d,m, og skal returnere de m første verdiene i følgen. x_1=c; x_2=d s=folge(a,b,c,d,m) function s=folge(a,b,c,d,m) s(1)=c; if (m==1); return; ; s(2)=d; if (m==2); return; ; for i=3:m s(i)=a*s(i-2)+b*s(i-1); 103. Lag en funksjon som regner ut leddene i følgen {x n } gitt ved: x n+1 = ax n (1 x n ) x 1 = b Funksjonen skal ha inn-parametre a,b,m, og skal returnere de m første verdiene i følgen. Sett m = 100, se på tilfellene b = 0.2 og b = 0.8, og kjør programmet for hhv. a = 1.5, a = 2.8, a = 3, a = 3.1, a = 3.5, a = 3.9. Plott resultatene. Eksperimenter videre hvis du har lyst, men behold humøret selv om du ikke finner noe mønster; fenomenet du ser på er et av utgangspunktene for det som kalles kaos-teori! opp3 regne ut m ledd i x_n+1 = a x_n (1-x_n) x_1=b; [s]=folgekaos(a,b,m) function [s]=folgekaos(a,b,m) s(1)=b; 64

65 if (m==1); return; ; for i=2:m s(i)=a*s(i-1)*(1-s(i-1)); m=100; b=[ ]; a=[ ]; for j=1:2; for i=1:6 s=folgekaos(a(i),b(j),m); figure plot(s) 104. La oss se på flere funksjoner som har flere ut-parametre. a. Lag en funksjon som tar inn et vilkårlig array som inn-parameter, og returnerer maks, min, gjennomsnitt, og lengde. function[lengde, gjennomsnitt, maks, mini] = array_funk(arr) lengde=length(arr); gjennomsnitt=mean(arr); maks=max(arr); mini=min(arr); b. Test at funksjonen virker ved å lagre svarene som feks m, mi, gj og l for arrayer fra noen tidligere oppgaver. [l,g,m,i]=array_funk(arr) 105. La oss lage oss flere nye funksjoner. a. Lag en funksjon som tester om en tallvariabel er et heltall og returnerer svaret. 65

66 function[svar]= heltall(a) a= 3.000; b= ceil(a); if a==b Svar=( heltall ) else Svar=( ikke heltall ) b. Lag en funksjon som tester om en tallvariabel er partall eller oddetall og returnerer svaret function[svar]= partall(a) b=a/2; c=ceil(b); if a==b Svar=( partall ) else Svar=( oddetall ) c. Lag en funksjon som tester hvilken av 2 variable som er størst og returnerer kun den største. function[svar]= storst(a,b) if a>b Svar=a else Svar=b d. Lag en funksjon som tester hvilket av 2 arrayer som er lengst og returnerer det korteste. 66

67 function[svar]= kortest(a,b) d=length(a) e=length(b) if d>e Svar=b else Svar=a 106. Lag en funksjon fakultet, som tar inn et heltall n, og returnerer n! = n. function[n_fakultet]=fakultet(n) n_fakultet=1; if n==0 n_fakultet=1; return; for i=1:n n_fakultet=n_fakultet*i; 107. La oss se nærmere på omregning mellom Fahrenheit og Celsius. a. Lag en funksjon som regner om fra Fahrenheit til Celsius. function[f] = celcius_fahrenheit(t) F= 32+(9/5)*T; b. og en som regner om fra Celsius til Fahrenheit. function[c] = fahrenheit_celsius(t) C= (T-32)*(9/5); 67

68 c. Lag en funksjon som tar inn en temperatur og en strengvariabel som sier hva slags temperatur det er f.eks (K,F eller C), og returnerer temperaturen i både Kelvin, Celsius og Fahrenheit. function[celsius, Fahrenheit, Kelvin] = celsius_fahrenheit_kelvin(t,enhet) if enhet== K Kelvin=T; Celsius= T ; Fahrenheit= 32+(9/5)*Celsius; return elseif enhet== C Celsius=T; Kelvin= T ; Fahrenheit=32+(9/5)*T; return elseif enhet== F Fahrenheit= T; Celsius= (T-32)*(9/5); Kelvin= Celsius ; return else disp( invalid option for enhet, must be one of C,K,F ); d. Lag funksjonen din fra c. slik at temperaturene er arrayer. Tips: Dette er en nyttig funksjon som er grei å ha lagret. function[celsius, Fahrenheit, Kelvin] = celsius_fahrenheit_kelvin(t,enhet) if enhet== K Kelvin=T; Celsius= T ; Fahrenheit= 32+(9/5).*Celsius; return elseif enhet== C Celsius=T; Kelvin= T ; Fahrenheit=((9/5).*T)+32; 68

69 return elseif enhet== F Fahrenheit= T; Celsius= (T-32).*(9/5); Kelvin= Celsius ; return else disp( invalid option for enhet, must be one of C,K,F ); 108. La oss lage oss flere funksjoner. function[toer]= to(n) toer=zeros(n,1); for i=1:n toer(i)=2^(i-1); a. I kapitlet om arrayer og løkker lagde du et array (1,2,4,8,16,...,4096). Nå skal du lage en funksjon som tar imot antall plasser du vil ha i arrayet (i dette tilfellet 13), og ser tilbake arrayet du ser over. b. Gjør om funksjonen slik at den kan ta imot enhver lengde, og slik at den ser tilbake arrayen Vi skal se på utviklingen til tre generasjoner av en dyrepopulasjon. Den første generasjonen kalles x, den midterste y og den eldste z. 40% av dyrene i generasjon x overlever til generasjon y, og 70% av dyrene i generasjon y overlever til generasjon z pr. år. Dyrene i generasjon y får gjennomsnittlig 1.5 barn hver pr. år, og dyrene i generasjon z får 1.4 barn hver pr. år. Løsningsforslag: a. og b.: function[x,y,z,b] = populasjon(x1,y1,z1,b1,t) x(1)=x1; y(1)=y1; z(1)=z1; b(1)=b1; for i=1:t 69

70 x(i+1)=1.5*y(i)+1.4*z(i)+0.5*b(i); y(i+1)=0.4*x(i); z(i+1)=0.7*y(i); b(i+1)=0.2*z(i); a. Du skal lage en funksjon som tar i mot hvor mange dyr det er i hver generasjon ved tiden t=1, og ser tilbake tre arrayer som inneholder utviklingen til hver generasjon. I tillegg skal funksjonen også ta imot hvor mange tidsskritt(år) frem i tid du vil se på. Første linje i programmet ditt skal se slik ut: function[x,y,z] = populasjon(x1,y1,z1,t) Her er x1, y1, z1, og t vanlige tall, mens x, y, og z er arrayer. b. I denne funksjonen var z den eldste generasjonen. Under studiet av denne dyrepopulasjonen fant du ut at det var en generasjon til som var a eldre enn z, nemlig generasjon b! Det var 20% av dyrene som var i generasjon z som overlevde til generasjon b, og annethvert dyr i generasjon b fikk ett barn pr. år. Gjør ringene som trengs i funksjonen for at den skal beregne utviklingen til bestanden inkludert generasjon b. Første linje i programmet ditt skal nå se slik ut: function[x,y,z,b] = populasjon(x1,y1,z1,b1,t) c. Lag en ny funksjon der du ser inn arrayene x,y,z, og b. Funksjonen skal lage et plot som viser utviklingen til populasjonene. Figuren skal ha navn på aksene, tittel og de fire grafene skal ha ulike farger. Første linje i programmet ditt skal se slik ut: function figur(x,y,z,b) function figur(x,y,z,b) plot(x) hold on plot(y, r ) plot(z, g ) 70

71 plot(b, k ) xlabel( {\aa}r ) ylabel( antall dyr ) title( Populasjon ) leg( x, y, z, b ) 110 (Vanskelig). Lotto er spillet der du vinner førstepremien hvis du har tippet de 7 tallene som blir trukket blant 34 tall. Løsningsforslag: a. og b.: function[dagens_tall, tilleggstall] =Lotto(a,n) % 1. c = randperm(n); dagens_tall = sort(c(1:a)); % 2. tilleggstall =sort(c(a+1:a+3)); a. Lag en funksjon, Lotto, som trekker ut a vilkårlige tall mellom 1 og n, og ut fra inputene returnerer et array, dagens tall, med de utvalgte tallene i stige rekkefølge. Hint: funksjonen randperm(10) trekker tallene fra 1 til 10 i tilfeldig rekkefølge. Man kan evt bruke rand og ceil, men må da passe på å ikke ha flere like tall b. Gjør om funksjonen Lotto slik at den i tillegg til å returnere dagens tall også returnerer arrayen tilleggstall der tre ekstra tall er blitt trukket ut. c. Vi skal nå lage en ny funksjon, Mulige, der vi skal se litt på vinnersjansene til rekker i lotto. Opprett funksjonen Mulige som tar inn a og n som i a., og ut fra disse returnerer antall mulige rekker funksjonen fra a. kan ha. Hint: Antall rekker for n = 10 og a = 3 er (10 9 8)/(1 2 3) = n!/((n a)!a!) = ( n ) a, evt. se oppgave fra kapitlet om løkker. function[ant_rekker] =Mulige(a,n) teller=1; nevner=1; for i=1:a teller= teller*(n-i+1); nevner= nevner*i; 71

72 ant_rekker = teller/nevner; d. I viking-lotto vinner man førstepremien ved å trekke ut 6 tall blant 46 mulige, dvs n = 46 og a = 6. Bruk funksjonen Mulige til å beregne hvor mye vanskeligere det er å vinne i viking-lotto enn i vanlig lotto. Hva hvis du trengte 7 rette der og? Løsningsforslag: t=mulige(6,46)/mulige(7,34) % 1,7 e. Lag et program som kaller funksjonen Mulige, og plotter mulige utfall for forskjellige verdier av antall rette man må ha for å vinne for hhv. lotto og viking-lotto. Hvor mange rette er det vanskeligst å få i de to spillene? n=34; nv=46; for i=1:n lotto(i)=mulige(i,n); for i=1:nv vlotto(i)=mulige(i,nv); lotto=lotto/max(lotto); vlotto=vlotto/max(vlotto); plot(lotto, k ) hold on; plot(vlotto, b ) f (Vanskelig). Lag et program som ser inn dine lotto-rekker, og som trekker ut en Lottorekke og gir deg antall riktige i din rekke. Hvor mange rette klarer du? (ignorer tilleggstall). Hint: Du kan bruke funksjonen Lotto til å lage rekkene dine. Denne oppgaven trenger god kjennskap til for-løkker. 72

73 n=34; % antall tall m=5; % antall innleverte rekker a=7; % antall tall per rekke % genererer mine rekker for i=1:m mine_rekker(i,:)=lotto(a,n); % trekker vinnertallene: [vinnertall, tilleggstall]=lotto(a,n); rette_tall=zeros(1,m); for i=1:m for j=1:a tall=vinnertall(j); for k=1:a if tall==mine_rekker(i,k) rette_tall(i)=rette_tall(i)+1; vinnertall; mine_rekker; rette_tall 111. koden er a=1:10; sum=0; for k=1:11 sum=sum+a(k); 112. koden er function fak=fakultet(n) fak=n*fakultet(n-1); 73

74 113. koden er A=[1 2 3; 4 5 6]; B=[1 2; 3 4]; A*B 114. Dette programmet lager et array med n oddetall: n=10; odde=zeros(1,n); odde(1)=1; i=2; while i <= n odde= odde(i-1)+2; i=i+1; 115. Plot de to funksjonene f (x) = e 0.5x2 og h(x) = e (x 3t)2 : f=exp(-0.5*x.^2); t=0.5; h_xt=exp(-(x-3*t).^2); figure(1) plot(f) hold on plot(h_xt, g ) 116. Vi skal se på utviklingen av tre generasjoner av en dyrepopulasjon. Vi skal lage en funksjon som tar som inn-parametre hvor mange dyr det er i hver generasjon ved tiden t = 1, og returnerer tre arrayer som inneholder utviklingen til hver generasjon: function[x,y,z] = populasjon(x1,y1) x(1)=x1; y(1)=y1; z(1)=z1; % ser på 100 år frem i tid: for n=1:100 x(t+1)=1.5*y(t)+1.4*z(t); 74

75 y(t+1)=0.4*x(t); z(t+1)=0.7*y(t); 117. Denne funksjonen tar imot 3 arrayer og plotter dem: function figur(x,y,z) plot(x) hold on plot(y, r ) plot(z, g ) plot(b, k ) leg( x, y, z, b ) 118. Funksjonen variabler tar som inn-parametre a, b, og antall elementer, N, som arrayene skal inneholde. Funksjonen ser tilbake to arrayer x og y. function [a,b,n]= variabler(x,y) x = linspace(0,a,n); y = linspace(0,b,n); 119. Jeg har en fil T.dat som inneholder måledata fra 4 stasjoner med en måling pr. dag i tre mnd(jan,feb,mars). size(t)= 4 90 Jeg har en tilsvare fil, P.dat, med nedbørsdata fra de samme stasjonene og de samme tidspunktene. size(p)= 4 90 Jeg antar at det faller snø hvis temperaturen er lik eller under null. Jeg skal lage et program som beregner snødybden for de 4 stedene jeg antar at snøen blir ligge om temperaturen er under eller lik null, og at alt smelter om temperaturen er over null Virker dette programmet? Hvis ikke, hva gjør jeg feil? load P.dat; load T.dat; sno0=0; for j=1:4 for i=1:90 if T(i)<=0 snodybde(j,i)=p(i)+sno0; sno0=snodybde; else snodybde(j,i)=0; sno0=0; 75

76 plot(snodybde, r ) load T.dat; load P.dat; sno0=0; for j=1:4 for i=1:90 if T(j,i)<=0 snodybde(j,i)=p(j,i)+sno0; sno0=snodybde(j,i); else snodybde(j,i)=0; sno0=0; plot(snodybde(1,:), r ) hold on plot(snodybde(2,:), g ) plot(snodybde(3,:), b ) plot(snodybde(4,:), k ) 76

Exercises population. Øyvind Ryan

Exercises population. Øyvind Ryan Exercises population Øyvind Ryan 19. februar 2013 1. Vi antar at en bakteriepopulasjon vokser eksponentielt og har en vekst gitt ved P = P 0 e kt der t er tiden i sekunder, P 0 = 120 er antall bakterier

Detaljer

GEO1040: Grunnkurs i programmering for geofaglige problemstillinger

GEO1040: Grunnkurs i programmering for geofaglige problemstillinger UNIVERSITETET I OSLO Institutt for geofag GEO1040: Grunnkurs i programmering for geofaglige problemstillinger Valérie Maupin Gunnar Wollan Thomas Vikhamar Schuler Ada Gjermundsen Henrik Grythe Øyvind Ryan

Detaljer

Kapittel august Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 2.

Kapittel august Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 2. Institutt for geofag Universitetet i Oslo 28. august 2012 Kommandovinduet Det er gjennom kommandovinduet du først og fremst interagerer med MatLab ved å gi datamaskinen kommandoer når >> (kalles prompten

Detaljer

11. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 5 (del 2) Ada Gjermundsen

11. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 5 (del 2) Ada Gjermundsen , Institutt for geofag Universitetet i Oslo 11. september 2012 Litt repetisjon: Array, En array er en variabel som inneholder flere objekter (verdier) En endimensjonal array er en vektor En array med to

Detaljer

ITGK - H2010, Matlab. Repetisjon

ITGK - H2010, Matlab. Repetisjon 1 ITGK - H2010, Matlab Repetisjon 2 Variabler og tabeller Variabler brukes til å ta vare på/lagre resultater Datamaskinen setter av plass i minne for hver variabel En flyttallsvariabel tar 8 bytes i minne

Detaljer

TDT4105 IT Grunnkurs Høst 2014

TDT4105 IT Grunnkurs Høst 2014 TDT4105 IT Grunnkurs Høst 2014 Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 6 1 Teori a) Hva er 2-komplement? b) Hva er en sample innen digital

Detaljer

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

Detaljer

Eksamen MAT1015 Matematikk 2P Va ren 2015

Eksamen MAT1015 Matematikk 2P Va ren 2015 Eksamen MAT1015 Matematikk P Va ren 015 Oppgave 1 ( poeng) Dag Temperatur Mandag 4 C Tirsdag 10 C Onsdag 1 C Torsdag 5 C Fredag 6 C Lørdag Tabellen ovenfor viser hvordan temperaturen har variert i løpet

Detaljer

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som

Detaljer

2P, Modellering Quiz fasit. Test, 3 Modellering

2P, Modellering Quiz fasit. Test, 3 Modellering Test, 3 Modellering Innhold 3.1 Lineære modeller og lineær regresjon... 3. Modell for svingetiden til en pendel... 8 3.3 Potensfunksjon som modell... 8 3.4 Eksponentialfunksjon som modell... 18 3.5 Polynomfunksjoner

Detaljer

2P eksamen våren 2016 løsningsforslag

2P eksamen våren 2016 løsningsforslag 2P eksamen våren 2016 løsningsforslag Tid: 2 timer Hjelpemidler: Vanlige skrivesaker, linjal med centimetermål og vinkelmåler er tillatt. Oppgave 1 (3 poeng) Dato Temperatur 01.03 2 C 02.03 0 C 03.03 --4

Detaljer

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

Løsningsforslag til utvalgte oppgaver i kapittel 10

Løsningsforslag til utvalgte oppgaver i kapittel 10 Løsningsforslag til utvalgte oppgaver i kapittel 0 I kapittel 0 får du trening i å løse ulike typer differensialligninger, og her får du bruk for integrasjonsteknikkene du lærte i forrige kapittel. Men

Detaljer

Løsningsforslag for 2P våren 2015

Løsningsforslag for 2P våren 2015 Del 1 Oppgave 1 Sortert i stigende rekkefølge blir det: 4 5 6? 10 12 Medianen, som er 7, skal ligge midt mellom de to midterste tallene 6 og det ukjente tallet, som derfor må være 8. Oppgave 2 Opprinnelig

Detaljer

SAMMENDRAG OG FORMLER. Nye Mega 9A og 9B

SAMMENDRAG OG FORMLER. Nye Mega 9A og 9B SAMMENDRAG OG FORMLER Nye Mega 9A og 9B 1 Sammendrag og formler Nye Mega 9A Kapittel A GEOMETRI Regulære mangekanter Når alle sidene er like lange og alle vinklene er like store i en mangekant, sier vi

Detaljer

Eksamen MAT1005 Matematikk 2P-Y Høsten 2013

Eksamen MAT1005 Matematikk 2P-Y Høsten 2013 Eksamen MAT1005 Matematikk 2P-Y Høsten 2013 DEL 1 Uten hjelpemidler Oppgave 1 (2 poeng) I en klasse er det 20 elever. Nedenfor ser du hvor mange dager hver av elevene var borte fra skolen i løpet av et

Detaljer

Eksamen. Fag: AA6524 Matematikk 3MX. Eksamensdato: 4. juni 2007. Vidaregåande kurs II / Videregående kurs II

Eksamen. Fag: AA6524 Matematikk 3MX. Eksamensdato: 4. juni 2007. Vidaregåande kurs II / Videregående kurs II Eksamen Fag: AA6524 Matematikk 3MX Eksamensdato: 4. juni 2007 Vidaregåande kurs II / Videregående kurs II Studieretning: Allmenne, økonomiske og administrative fag Elevar/Elever Oppgåva ligg føre på begge

Detaljer

DEL 1 Uten hjelpemidler

DEL 1 Uten hjelpemidler DEL 1 Uten hjelpemidler Oppgave 1 (3 poeng) Dato Temperatur 01.03 2 02.03 0 03.03 4 04.03 6 05.03 2 06.03 6 Guro målte temperaturen utenfor hytta de seks første dagene i mars. Se tabellen ovenfor. Bestem

Detaljer

MAT1120 Plenumsregningen torsdag 26/8

MAT1120 Plenumsregningen torsdag 26/8 MAT1120 Plenumsregningen torsdag 26/8 Øyvind Ryan ([email protected]) August 2010 Innføring i Matlab for dere som ikke har brukt det før Vi skal lære følgende ting i Matlab: Elementære operasjoner Denere

Detaljer

Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai 2005. eksamensoppgaver.org

Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai 2005. eksamensoppgaver.org Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai 2005 eksamensoppgaver.org eksamensoppgaver.org 2 Om løsningsforslaget Løsningsforslaget for matematikk eksamen i 3MX er gratis, og det er lastet

Detaljer

Mattespill Nybegynner Python PDF

Mattespill Nybegynner Python PDF Mattespill Nybegynner Python PDF Introduksjon I denne leksjonen vil vi se litt nærmere på hvordan Python jobber med tall, og vi vil lage et enkelt mattespill. Vi vil også se hvordan vi kan gjøre ting tilfeldige.

Detaljer

Eksamen våren 2016 Løsninger

Eksamen våren 2016 Løsninger DEL 1 Uten hjelpemidler Hjelpemidler: vanlige skrivesaker, passer, linjal med centimetermål og vinkelmåler Oppgave 1 Variasjonsbredde = 6 C ( 6 C) = 1 C Gjennomsnitt: + 0 + ( 4) + ( 6) + + 6 0 x = = =

Detaljer

Løsningsforslag. og B =

Løsningsforslag. og B = Prøve i Matte EMFE DAFE ELFE BYFE Dato: august 25 Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver har lik vekt. Oppgave a) Gitt matrisene A = 2 3 2 4 2 Løsningsforslag og

Detaljer

En innføring i MATLAB for STK1100

En innføring i MATLAB for STK1100 En innføring i MATLAB for STK1100 Matematisk institutt Universitetet i Oslo Februar 2017 1 Innledning Formålet med dette notatet er å gi en introduksjon til bruk av MATLAB. Notatet er først og fremst beregnet

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag Oppgave 1 Funksjoner og tangenter 2.1: 15 a) Vi plotter grafen med et rutenett: > x=-3:.1:3; > y=x.^2; > plot(x,y) > grid on > axis([-2

Detaljer

MAT-INF 2360: Obligatorisk oppgave 1

MAT-INF 2360: Obligatorisk oppgave 1 6. februar, MAT-INF 36: Obligatorisk oppgave Oppgave I denne oppgaven skal vi sammenligne effektiviteten av FFT-algoritmen med en mer rett frem algoritme for DFT. Deloppgave a Lag en funksjon y=dftimpl(x)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 11 Modellering og beregninger. Eksamensdag: Torsdag 12. oktober 26. Tid for eksamen: 9: 11:. Oppgavesettet er på 8 sider.

Detaljer

2P-Y eksamen våren 2016 løsningsforslag

2P-Y eksamen våren 2016 løsningsforslag 2P-Y eksamen våren 2016 løsningsforslag Tid: 2 timer Hjelpemidler: Vanlige skrivesaker, linjal med centimetermål og vinkelmåler er tillatt. Oppgave 1 (3 poeng) Dato Temperatur 01.03 2 C 02.03 0 C 03.03

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 1100 Modellering og beregninger del 1 Eksamensdag: Tirsdag 7. desember 2004 Tid for eksamen: 14:30 17:30 Oppgavesettet

Detaljer

Noen MATLAB-koder. 1 Plotte en vanlig funksjon. Fredrik Meyer. 23. april 2013

Noen MATLAB-koder. 1 Plotte en vanlig funksjon. Fredrik Meyer. 23. april 2013 Noen MATLAB-koder Fredrik Meyer 23. april 2013 1 Plotte en vanlig funksjon Anta at f : [a, b] R er en vanlig funksjon. La for eksempel f(x) = sin x+x for x i intervallet [2, 5]. Da kan vi bruke følgende

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

R2 kapittel 8 Eksamenstrening Løsninger til oppgavene i læreboka

R2 kapittel 8 Eksamenstrening Løsninger til oppgavene i læreboka R kapittel 8 Eksamenstrening Løsninger til oppgavene i læreboka E Bruker formelen cos 36 cos( 8 ) E sin 8 v og sin8 5 cos v sin sin8 5 5 6 5 5 8 5 5 8 6 5 8 6 5 8 8 3 5 5 5 a f ( ) sin 5 cos f ( ) 5cos

Detaljer

Øvingsforelesning i Matlab (TDT4105)

Øvingsforelesning i Matlab (TDT4105) Øvingsforelesning i Matlab (TDT4105) Øving 1. Frist: 11.09. Tema: matematiske uttrykk, variabler, vektorer, funksjoner. Benjamin A. Bjørnseth 1. september 2015 2 Oversikt Praktisk informasjon Om øvingsforelesninger

Detaljer

Kapittel september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 7.

Kapittel september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 7. Institutt for geofag Universitetet i Oslo 18. september 2012 MatLabs store styrke er tallberegninger og grafisk fremstilling av resultater Noen ganger er det allikevel ønskelig å manipulere tekst (f.eks.

Detaljer

LØSNINGSFORSLAG, KAPITTEL 2

LØSNINGSFORSLAG, KAPITTEL 2 ØNINGFORAG, KAPITTE REVIEW QUETION: Hva er forskjellen på konduksjon og konveksjon? Konduksjon: Varme overføres på molekylært nivå uten at molekylene flytter på seg. Tenk deg at du holder en spiseskje

Detaljer

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012 INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver

Detaljer

Eksamen MAT1005 Matematikk 2P-Y Va ren 2015

Eksamen MAT1005 Matematikk 2P-Y Va ren 2015 Eksamen MAT1005 Matematikk P-Y Va ren 015 Oppgave 1 ( poeng) Dag Temperatur Mandag 4 C Tirsdag 10 C Onsdag 1 C Torsdag 5 C Fredag 6 C Lørdag Tabellen ovenfor viser hvordan temperaturen har variert i løpet

Detaljer

Eksamen MAT1005 Matematikk 2P-Y Høsten 2014

Eksamen MAT1005 Matematikk 2P-Y Høsten 2014 Eksamen MAT1005 Matematikk P-Y Høsten 014 Oppgave 1 (1 poeng) Regn ut og skriv svaret på standardform 0,0003 500000000 0,00,0 10,0 4 8 3,0 10 5,0 10 3,0 5,0 4 8 ( 3) 7 3 10 7,5 10 Oppgave (1 poeng) Prisen

Detaljer

DEL 1 Uten hjelpemidler

DEL 1 Uten hjelpemidler DEL 1 Uten hjelpemidler Oppgave 1 ( poeng) Dag Temperatur Mandag 4 ºC Tirsdag 10 ºC Onsdag 1 ºC Torsdag 5 ºC Fredag 6 ºC Lørdag Tabellen ovenfor viser hvordan temperaturen har variert i løpet av noen dager.

Detaljer

Fysikkonkurranse 1. runde 6. - 17. november 2000

Fysikkonkurranse 1. runde 6. - 17. november 2000 Norsk Fysikklærerforening Norsk Fysisk Selskaps faggruppe for undervisning Fysikkonkurranse 1. runde 6. - 17. november 000 Hjelpemidler: Tabeller og formler i fysikk og matematikk Lommeregner Tid: 100

Detaljer

Etablering av nettressurs med eksempler, prosjekter og data

Etablering av nettressurs med eksempler, prosjekter og data 1 / 10 Etablering av nettressurs med eksempler, prosjekter og data Øyvind Ryan CMA, Universitetet i Oslo Gardermoen, 29. Mai, 2012 2 / 10 GEO1040 - Grunnkurs i programmering for geofaglige problemstillinger

Detaljer

JS: Grunnleggende JavaScript Nybegynner

JS: Grunnleggende JavaScript Nybegynner JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.

Detaljer

NIO 1. runde eksempeloppgaver

NIO 1. runde eksempeloppgaver NIO 1. runde eksempeloppgaver Oppgave 1 (dersom du ikke klarer en oppgave, bare gå videre vanskelighetsgraden er varierende) Hva må til for at hele det følgende uttrykket skal bli sant? NOT(a OR (b AND

Detaljer

DEL 1 Uten hjelpemidler

DEL 1 Uten hjelpemidler DEL 1 Uten hjelpemidler Oppgave 1 (3 poeng) Lotte har spurt ti medelever om hvor mange ganger de handler i kantina i løpet av en uke. Resultatene ser du nedenfor. 1 5 1 3 3 1 4 2 4 0 Bestem medianen, gjennomsnittet,

Detaljer

Kapittel 4. Algebra. Mål for kapittel 4: Kompetansemål. Mål for opplæringen er at eleven skal kunne

Kapittel 4. Algebra. Mål for kapittel 4: Kompetansemål. Mål for opplæringen er at eleven skal kunne Kapittel 4. Algebra Mål for kapittel 4: Kompetansemål Mål for opplæringen er at eleven skal kunne gjøre overslag over svar, regne praktiske oppgaver, med og uten digitale verktøy, presentere resultatene

Detaljer

Løsningsforslag til ukeoppgave 12

Løsningsforslag til ukeoppgave 12 Oppgaver FYS1001 Vår 018 1 Løsningsforslag til ukeoppgave 1 Oppgave 16.0 Loddet gjør 0 svingninger på 15 s. Frekvensen er da f = 1/T = 1,3 T = 15 s 0 = 0, 75 s Oppgave 16.05 a) Det tar et døgn for jorda

Detaljer

2P eksamen våren 2016

2P eksamen våren 2016 2P eksamen våren 2016 Tid: 2 timer Hjelpemidler: Vanlige skrivesaker, linjal med centimetermål og vinkelmåler er tillatt. Oppgave 1 (3 poeng) Dato Temperatur 01.03 2 C 02.03 0 C 03.03 --4 C 04.03 --6 C

Detaljer

Eksamen MAT1015 Matematikk 2P Va ren 2015

Eksamen MAT1015 Matematikk 2P Va ren 2015 Eksamen MAT1015 Matematikk 2P Va ren 2015 Oppgave 1 (2 poeng) Dag Temperatur Mandag 4 C Tirsdag 10 C Onsdag 12 C Torsdag 5 C Fredag 6 C Lørdag Tabellen ovenfor viser hvordan temperaturen har variert i

Detaljer

Obligatorisk oppgave nr 4 FYS-2130. Lars Kristian Henriksen UiO

Obligatorisk oppgave nr 4 FYS-2130. Lars Kristian Henriksen UiO Obligatorisk oppgave nr 4 FYS-2130 Lars Kristian Henriksen UiO 23. februar 2015 Diskusjonsoppgaver: 3 Ved tordenvær ser vi oftest lynet før vi hører tordenen. Forklar dette. Det finnes en enkel regel

Detaljer

Løsningsforslag for eksamen i brukerkurs i matematikk A (MA0001)

Løsningsforslag for eksamen i brukerkurs i matematikk A (MA0001) Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side 1 av 8 Løsningsforslag for eksamen i brukerkurs i matematikk A (MA1) Bokmål Tirsdag 1. desember 11 Tid: 9: 1: (4 timer)

Detaljer

Skilpaddefraktaler Erfaren Python PDF

Skilpaddefraktaler Erfaren Python PDF Skilpaddefraktaler Erfaren Python PDF Introduksjon Vi vil nå jobbe videre med skilpaddekunsten fra tidligere. Denne gangen skal vi tegne forskjellige figurer som kalles fraktaler. Fraktaler er figurer

Detaljer

Prøve i Matte 1000 BYFE DAFE 1000 Dato: 03. mars 2016 Hjelpemiddel: Kalkulator og formelark. Alle svar skal grunngis. Alle deloppgaver har lik vekt.

Prøve i Matte 1000 BYFE DAFE 1000 Dato: 03. mars 2016 Hjelpemiddel: Kalkulator og formelark. Alle svar skal grunngis. Alle deloppgaver har lik vekt. Prøve i Matte 1 BYFE DAFE 1 Dato: 3. mars 216 Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver har lik vekt. LØSNINGSFORSLAG Oppgave 1 Gitt matrisene A = [ 8 3 6 2 ] [ og

Detaljer

Løsningsforslag for Eksamen i Matematikk 3MX - Privatister - AA6526 16.05.2008. eksamensoppgaver.org

Løsningsforslag for Eksamen i Matematikk 3MX - Privatister - AA6526 16.05.2008. eksamensoppgaver.org Løsningsforslag for Eksamen i Matematikk 3MX - Privatister - AA656 16.05.008 eksamensoppgaver.org eksamensoppgaver.org Om løsningsforslaget Løsningsforslaget for eksamen i matematikke 3MX er gratis, og

Detaljer

JS: Grunnleggende JavaScript

JS: Grunnleggende JavaScript JS: Grunnleggende JavaScript Skrevet av: Lars Klingenberg Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

Løsningsforslag for eksamen i MAT1003 Matematikk 2P Privatister - 27.05.2008. eksamensoppgaver.org

Løsningsforslag for eksamen i MAT1003 Matematikk 2P Privatister - 27.05.2008. eksamensoppgaver.org Løsningsforslag for eksamen i MAT1003 Matematikk 2P Privatister - 27.05.2008 eksamensoppgaver.org eksamensoppgaver.org 2 Om løsningsforslaget Løsningsforslaget for matematikk eksamen i 2P er gratis, og

Detaljer

MAT 1110: Obligatorisk oppgave 1, V-07: Løsningsforslag

MAT 1110: Obligatorisk oppgave 1, V-07: Løsningsforslag 1 MAT 111: Obligatorisk oppgave 1, V-7: Løsningsforslag Oppgave 1. a) Vi deriverer på vanlig måte: ( e (sinh x) x e x ) = = ex + e x = cosh x, ( e (cosh x) x + e x ) = = ex e x = sinh x Enkel algebra gir

Detaljer

Tall Vi på vindusrekka

Tall Vi på vindusrekka Tall Vi på vindusrekka Tall og siffer... 2 Dekadiske enheter... 3 Store tall... 4 Avrunding... 5 Tverrsum... 8 Partall og oddetall... 9 Primtall... 10 Sammensatte tall... 11 Faktorisering... 13 Negative

Detaljer

Løsningsforslag til eksamen FY0001 Brukerkurs i fysikk Juni 2011

Løsningsforslag til eksamen FY0001 Brukerkurs i fysikk Juni 2011 NTNU Institutt for Fysikk Løsningsforslag til eksamen FY0001 Brukerkurs i fysikk Juni 011 Oppgave 1 a) Figur A. Tyngdeakselerasjonen er konstant, altså den endrer seg ikke med tiden. b) Vi finner farten

Detaljer

I Katalog velger du: Ny eksamensordning i matematikk våren 2015

I Katalog velger du: Ny eksamensordning i matematikk våren 2015 CAS teknikker H-P Ulven 10.12.2014 Innledning Våren 2015 gjelder nye regler for bruk av digitale hjelpemidler: Når det står "Bruk CAS", så må kandidaten bruke CAS, og når det står "Bruk graftegner", så

Detaljer

UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet. Obligatorisk innlevering 3 i emnet MAT111, høsten 2016

UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet. Obligatorisk innlevering 3 i emnet MAT111, høsten 2016 UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet Obligatorisk innlevering 3 i emnet MAT, høsten 206 Innleveringsfrist: Mandag 2. november 206, kl. 4, i Infosenterskranken i inngangsetasjen

Detaljer

Løsningsforslag til øving 1

Løsningsforslag til øving 1 Oppgave 1 FY1005/TFY4165 Termisk fysikk. Institutt for fysikk, NTNU. åren 2013. a) i deriverer på begge sider og finner ( ) α p ( ) κt T T p Løsningsforslag til øving 1 = p = T ( 1 ( 1 ) = 1 T ) = 1 p

Detaljer

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

Alle svar skal grunngis. Alle deloppgaver har lik vekt. Alle svar skal grunngis. Alle deloppgaver har lik vekt. Oppgave Vi denerer matrisene A, B, og C som A = [ ] 3, B = 5 9, C = 3 3. a) Regn ut følgende matrisesummer og matriseprodukter, om mulig. Dersom

Detaljer

DEL 1 Uten hjelpemidler

DEL 1 Uten hjelpemidler DEL 1 Uten hjelpemidler Hjelpemidler: vanlige skrivesaker, passer, linjal med centimetermål og vinkelmåler Oppgave 1 Variasjonsredden: 6 C ( 6 C) = 6 C+ 6 C= 12 C Gjennomsnittet: 2 C+ 0 C + ( 4 C) + (

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 3 Løsningsforslag Oppgave 1 Flo og fjære a) >> x=0:.1:24; >> y=3.2*sin(pi/6*(x-3)); Disse linjene burde vel være forståelige nå. >> plot(x,y,'linewidth',3)

Detaljer

Prosjektoppgave i FYS-MEK 1110

Prosjektoppgave i FYS-MEK 1110 Prosjektoppgave i FYS-MEK 1110 03.05.2005 Kari Alterskjær Gruppe 1 Prosjektoppgave i FYS-MEK 1110 våren 2005 Hensikten med prosjektoppgaven er å studere Jordas bevegelse rundt sola og beregne bevegelsen

Detaljer

Skilpaddekunst. Steg 1: Møt skilpadden. Sjekkliste. Introduksjon. Turtles

Skilpaddekunst. Steg 1: Møt skilpadden. Sjekkliste. Introduksjon. Turtles Skilpaddekunst Introduksjon Skilpadder (turtles på engelsk) er en form for roboter som har vært i bruk innen programmering i lang tid. Vi vil bruke skilpadde-biblioteket i Python til å utforske flere programmeringskonsepter

Detaljer

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014

Detaljer

4 Funksjoner og andregradsuttrykk

4 Funksjoner og andregradsuttrykk 4 Funksjoner og andregradsuttrkk KATEGORI 1 4.1 Funksjonsbegrepet Oppgave 4.110 Regn ut f (0), f () og f (4) når a) f () = + b) f () = 4 c) f () = + 5 d) f () = 3 3 Oppgave 4.111 f() = + + 1 4 3 1 0 1

Detaljer

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn BOKMÅL EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: 108 + 108N Dato: 19.12.201 Ansv. faglærer: Roy M. Istad Campus: Bø Antall oppgaver: 5 Tillatte hjelpemidler (jfr. emnebeskrivelse): Alt trykt

Detaljer

DEL 1 Uten hjelpemidler

DEL 1 Uten hjelpemidler DEL 1 Uten hjelpemidler Oppgave 1 (3 poeng) Dato Temperatur 01.03 2 02.03 0 03.03 4 04.03 6 05.03 2 06.03 6 Guro målte temperaturen utenfor hytta de seks første dagene i mars. Se tabellen ovenfor. Bestem

Detaljer

Repetisjon Novice Videregående Python PDF

Repetisjon Novice Videregående Python PDF Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Eksamensdag: Fredag 2. Desember 2016. Tid for eksamen: 9:00 13:00.

Detaljer

Sprettende ball Introduksjon Processing PDF

Sprettende ball Introduksjon Processing PDF Sprettende ball Introduksjon Processing PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Processing. Det ble laget for å gjøre programmering lett for designere og andre som

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker Matematikk 1000 Øvingsoppgaver i numerikk leksjon 5 for-løkker I dette settet skal vi introdusere for-løkker. Først vil vi bruke for-løkker til å regne ut summer. Vi skal også se på hvordan vi kan implementere

Detaljer

ENT3R. Oppgavehefte. Basert på tidligere eksamener for 10. klasse. Tommy Odland 2/4/2014

ENT3R. Oppgavehefte. Basert på tidligere eksamener for 10. klasse. Tommy Odland 2/4/2014 ENT3R Oppgavehefte Basert på tidligere eksamener for 10. klasse Tommy Odland 2/4/2014 Dette er et oppgavehefte med oppgaver inspirert fra tidligere eksamener for 10. klassinger. Målet er at heftet skal

Detaljer

Oppgave 4. Med utgangspunkt i eksemplet gitt i oppgaveteksten er veien ikke lang til følgende kode i Matlab/Octave:

Oppgave 4. Med utgangspunkt i eksemplet gitt i oppgaveteksten er veien ikke lang til følgende kode i Matlab/Octave: Oppgave 4 Med utgangspunkt i eksemplet gitt i oppgaveteksten er veien ikke lang til følgende kode i Matlab/Octave: 1 %% FY1005 / TFY4165, Oving 1, Oppgave 4, del 1 2 %% 3 %%R = gasskonstanten = 8.314 J/

Detaljer

Eksempelsett R2, 2008

Eksempelsett R2, 2008 Eksempelsett R, 008 Del Tid: timer Hjelpemidler: Vanlige skrivesaker, passer, linjal med centimetermål og vinkelmåler er tillatt. Oppgave a) Deriver funksjonen f x x cosx f x cosx x s x f x cosx 6x sinx

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Litt oppsummering undervegs Løsningsforslag

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Litt oppsummering undervegs Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon Litt oppsummering undervegs Løsningsforslag Oppgave 1 Et skjæringspunkt f(x) = x e x g(x) = 1 arctan x. a) Vi kan lage plottet slik i kommando-vinduet:

Detaljer

dg = ( g P0 u)ds = ( ) = 0

dg = ( g P0 u)ds = ( ) = 0 NTNU Institutt for matematiske fag TMA4105 Matematikk 2, øving 8, vår 2011 Løsningsforslag Notasjon og merknader Som vanlig er enkelte oppgaver kopiert fra tidligere års løsningsforslag. Derfor kan notasjon,

Detaljer

ST0103 Brukerkurs i statistikk Høst 2014

ST0103 Brukerkurs i statistikk Høst 2014 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag ST0103 Brukerkurs i statistikk Høst 2014 Løsningsforslag Øving 1 2.1 Frekvenstabell For å lage en frekvenstabell må vi telle

Detaljer

Løsningsforslag. Prøve i Matematikk 1000 BYFE DAFE 1000 Dato: 29. mai 2017 Hjelpemiddel: Kalkulator og formelark. Oppgave 1 Gitt matrisene.

Løsningsforslag. Prøve i Matematikk 1000 BYFE DAFE 1000 Dato: 29. mai 2017 Hjelpemiddel: Kalkulator og formelark. Oppgave 1 Gitt matrisene. Prøve i Matematikk BYFE DAFE Dato: 29. mai 27 Hjelpemiddel: Kalkulator og formelark Løsningsforslag Oppgave Gitt matrisene A = 2 2 B = [ 2 3 4 ] og C = Regn ut, om mulig, summene A + B, A + B T og A +

Detaljer

Løsning av utvalgte øvingsoppgaver til Sigma R2 kapittel 5

Løsning av utvalgte øvingsoppgaver til Sigma R2 kapittel 5 Løsning av utvalgte øvingsoppgaver til Sigma R kapittel 5 5.5 Ce kx y = kce kx Vi setter inn i y + ky og ser om vi får 0: 5.5 ax + a y = ax Vi setter inn i y 5.54 kce kx + k Ce kx = 0 x x + y: ax x(ax

Detaljer

Øvingsforelesning i Matlab TDT4105

Øvingsforelesning i Matlab TDT4105 Øvingsforelesning i Matlab TDT4105 Øving 6. Tema: funksjoner med vektorer, plotting, while Benjamin A. Bjørnseth 12. oktober 2015 2 Oversikt Funksjoner av vektorer Gjennomgang av øving 5 Plotting Preallokering

Detaljer

Løsningsforslag B = 1 3 A + B, AB, BA, AB BA, B 2, B 3 C + D, CD, DC, AC, CB. det(a), det(b)

Løsningsforslag B = 1 3 A + B, AB, BA, AB BA, B 2, B 3 C + D, CD, DC, AC, CB. det(a), det(b) Innlevering BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 2 Innleveringsfrist Fredag 05. februar 2016 kl 14:00 Antall oppgaver: 5 Løsningsforslag 1 Vi denerer noen matriser A [ 1 5 2 0 B [ 1

Detaljer

NTNU. TMA4105 Matematik 2 våren 2011. Maple-øving 1. Viktig informasjon. Institutt for matematiske fag. maple01 1.

NTNU. TMA4105 Matematik 2 våren 2011. Maple-øving 1. Viktig informasjon. Institutt for matematiske fag. maple01 1. NTNU Institutt for matematiske fag TMA4105 Matematik 2 våren 2011 Maple-øving 1 Fyll inn studieprogram: Fyll inn navn: 1. 2. 3. 4. Viktig informasjon Besvarelsen kan leveres som gruppearbeid med maksimalt

Detaljer

SINUS R1, kapittel 5-8

SINUS R1, kapittel 5-8 Løsning av noen oppgaver i SINUS R1, kapittel 5-8 Digital pakke B TI-Nspire Enkel kalkulator (Sharp EL-506, TI 30XIIB eller Casio fx-82es) Oppgaver og sidetall i læreboka: 5.43 c side 168 5.52 side 173

Detaljer

Eksamen 27.05.2008. MAT1003 Matematikk 2P Elevar/Elever, Privatistar/Privatister. Nynorsk/Bokmål

Eksamen 27.05.2008. MAT1003 Matematikk 2P Elevar/Elever, Privatistar/Privatister. Nynorsk/Bokmål Eksamen 27.05.2008 MAT1003 Matematikk 2P Elevar/Elever, Privatistar/Privatister Nynorsk/Bokmål Bokmål Eksamensinformasjon Eksamenstid: Hjelpemidler på del 1: Hjelpemidler på del 2: Vedlegg: 5 timer Del

Detaljer

TDT4105 IT Grunnkurs Høst 2016

TDT4105 IT Grunnkurs Høst 2016 TDT4105 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følge informasjon i blokkbokstaver Navn:

Detaljer

Kap. 1 Fysiske størrelser og enheter

Kap. 1 Fysiske størrelser og enheter Fysikk for Fagskolen, Ekern og Guldahl samling (kapitler 1, 2, 3, 4, 6) Kap. 1 Fysiske størrelser og enheter Størrelse Symbol SI-enhet Andre enheter masse m kg (kilogram) g (gram) mg (milligram) tid t

Detaljer

Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre Repetisjon, del 2 TDT 4110 IT Grunnkurs Professor Guttorm Sindre Premieutdeling Kahoot Vinnere av enkeltrunder: Datamaskinens historie: mr.oyster (7311) Variable, aritmetiske op., etc.: Sha-ra (6155) if-setn.,

Detaljer

Oppgaver. Innhold. Funksjoner i praksis Vg2P

Oppgaver. Innhold. Funksjoner i praksis Vg2P Oppgaver Innhold Modul 1: Lineære funksjoner... Modul : Andregradsfunksjoner... 10 Modul 3: Tredjegradsfunksjoner... 1 Modul 4: Potensfunksjoner og rotfunksjoner... 14 Modul 5: Eksponentialfunksjoner...

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer