Zethyr Skrevet 11. februar 2006 Del Skrevet 11. februar 2006 Sinus kan regnes ut vha. en rekke, mer og mer nøyaktig jo flere ledd du tar med. Ikke husker jeg rekken her nå, men noen andre gjør det sikkert Lenke til kommentar
HolgerL Skrevet 11. februar 2006 Del Skrevet 11. februar 2006 sin x = x/1! - x^3/3! + x^5/5! - ... hvor 1! = 1, 3! = 3*2*1, 5! = 5*4*3*2*1, ... cos x = 1 - x^2/2! + x^4/4! - x^6/6! + ... Kalkulatoren regner ut rekkene med et visst antall ledd som gir et nøyaktig nok svar i forhold til hvor mange desimaler kalkulatoren kan vise og regne med. Lenke til kommentar
GeO Skrevet 12. februar 2006 Del Skrevet 12. februar 2006 What do you know - det virker! Med en rekke på åtte-ni ledd blir verdien stort sett riktig med ti desimaler, som er det kalkulatoren min, en Casio CFX-9850GC Plus, viser. Artig. Takker så meget! Lenke til kommentar
HolgerL Skrevet 12. februar 2006 Del Skrevet 12. februar 2006 (endret) Faktisk kan mye tilnærmes med rekker eller iterasjon. Man kan f.eks. integrere f(x) fra a til b: a~b f(x) dx = (delta x)/3 * ((y0) + 4*(y1) + 2*(y2) + 4*(y3) + 2*(y4) + ... + 2*(yn-2) + 4*(yn-1) + yn) Hvor a~b er integralet fra a til b, f(x) er funksjonen som skal integreres, delta x er (b - a)/n hvor n er et partall som bestemmer hvor nøyaktig tilnærmingen blir og hvor (y0), (y1), (y2), (y3) ..., (yn-1) og (yn) er funksjonsverdier av f(x) når x er henholdsvis a, a + delta x, a + 2 * delta x, a + 3 * delta x, ..., a + (n-1) * delta x, a + n * delta x. Legg merke til at rekken starter med én gang y0, så 4 ganger y1, 2 ganger y2 og så videre før den slutter med én gang yn. Litt lettere å forholde seg til er kanskje Newtons metode for å finne hvilken som helst ligning f(x) = 0. F.eks. 3x^2 + 4x^3 - sin x + 5 = 0 og lignende. Man foretar såkalt iterasjon hvor man først velger en mulig riktig verdi, bruker den til å finne en mer nøyaktig verdi, bruker den igjen til å finne en mer nøyaktig verdi, osv. Velg startverdi x0 (dvs hva du TROR svaret kan være. Du kan egentlig velge hva du vil, men du må gjenta iterasjonen flere ganger om du velger et tall som er helt way off). xn+1 (dvs neste x-verdi som er nærmere svaret) er da lik xn - f(xn)/f'(xn). Hvor xn er den forrige x-verdien (x0 når du skal finne x1, x1 når du skal finne x2, etc.), f(xn) er funksjonsverdien i xn og f'(xn) er funksjonsverdien til den deriverte i xn. Med andre ord, om du har en ligning med én ukjent og null på en siden kan du velge en startverdi, bruke formelen for å finne neste verdi og fortsette slik til du har et tilfredsstillende nøyaktig svar. Endret 12. februar 2006 av HolgerLudvigsen Lenke til kommentar
JeffK Skrevet 12. februar 2006 Del Skrevet 12. februar 2006 What do you know - det virker! Med en rekke på åtte-ni ledd blir verdien stort sett riktig med ti desimaler, som er det kalkulatoren min, en Casio CFX-9850GC Plus, viser. Artig. Takker så meget! 5590786[/snapback] Jeg hadde et lite innlegg på dette i denne tråden for en stund siden. Se det her. Lenke til kommentar
DrKarlsen Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 Disse rekkene kalles forøvrig Taylor-rekker. Lenke til kommentar
Sensurert Skrevet 18. februar 2006 Del Skrevet 18. februar 2006 Noen som gidder å sette opp et litt vanskelig stykke? Ikke for langt da, en liten linje ellerno, skal se om mattelæreren min kan den Lenke til kommentar
sim Skrevet 18. februar 2006 Del Skrevet 18. februar 2006 En gjeng på 17 pirater finner en skatt med gullmynter. De bestemmer seg for å dele den broderlig mellom seg. Når de prøver å dele opp første gang blir det tre mynter til overs. De dreper en pirat og prøver på ny. Denne gangen er det 10 mynter til overs. De dreper enda en pirat og da går det opp. Hva er det minste antall gullmynter? Lenke til kommentar
Torbjørn Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 122 kanskje? var ikke rare skatten det perl -le 'do{$a=++$_%17; $b=$_%16; } until $a==3 and $b==10; print $_," gullmynter"' Lenke til kommentar
sim Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 Jeg tipper 3930! 5636194[/snapback] Ti poeng! Lenke til kommentar
DrKarlsen Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 Yay! Artig script, Torbjørn. Er ikke helt sikker på om jeg forstår det, så jeg kan dessverre ikke si hvor feilen er. Lenke til kommentar
Torbjørn Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 oh glemte at det skulle gå opp på femten.. perl -le 'do{$a=++$_%17; $b=$_%16; $c=$_%15; } until $a==3 and $b==10 and $c==0; print $_," gullmynter"' Lenke til kommentar
DrKarlsen Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 Gir den riktig svar? Lenke til kommentar
Torbjørn Skrevet 21. februar 2006 Del Skrevet 21. februar 2006 ja.. sjekker resten etter divisjon (modulus operator), 3 mot 17, 10 mot 16 og 0 mot 15, og øker telleren med 1 til den finner noe som matcher.. 3930 Lenke til kommentar
Zlatzman Skrevet 21. februar 2006 Del Skrevet 21. februar 2006 pirater.m: y=1; while mod(y,17)~=3 | mod(y,16)~=10 | mod(y,15)~=0 y=y+1; end disp(y) Et matlabscript som også finner den samme verdien, satt og tenkte det ut på lørdag, men fikk det ikke til å fungere da, glemte at det skulle være eller og ikke og. Lenke til kommentar
HolgerL Skrevet 21. februar 2006 Del Skrevet 21. februar 2006 Må si meg enig i at å få en datamaskin til å teste ut alle muligheter ikke er en skikkelig matematisk måte å gjøre det på. Men, er det noen matematisk måte å regne ut en rest av en divisjon? Lenke til kommentar
sim Skrevet 21. februar 2006 Del Skrevet 21. februar 2006 a mod b = a - (floor(a/b)*b) Lenke til kommentar
HolgerL Skrevet 21. februar 2006 Del Skrevet 21. februar 2006 (endret) ... som ikke involverer programkode. Hmm, kunne jo funnet ut hvordan datamaskiner gjør denne beregningen binært, og så funnet en slags formel fra dette. Evt. funnet en matematisk formel for å runde av et tall, slik koden din gjør. Endret 21. februar 2006 av HolgerLudvigsen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå