induksjon, Python program

Her kan du stille spørsmål vedrørende problemer og oppgaver i matematikk på høyskolenivå. Alle som har kunnskapen er velkommen med et svar. Men, ikke forvent at admin i matematikk.net er spesielt aktive her.

Moderatorer: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

Svar
LIMAR
Pytagoras
Pytagoras
Innlegg: 5
Registrert: 16/09-2012 22:40

Hei !!


Kan dere hjelpe meg å forstå hva skjer i dette progremmet ..... ?
Oppgave 5. Følgende python-program er gitt:
from random import random
antfeil = 0; N = 10000
x0 = y0 = z0 = 0.0
feildistrib1 = feildistrib2 = 0.0
for i in range(N):
x = random(); y = random(); z = random()
distrib1 = (x + y) * z
distrib2 = x*z + y*z
if distrib1 != distrib2:
antfeil += 1
x0 = x; y0 = y; z0 = z
feildistrib1 = distrib1
feildistrib2 = distrib2
print (100. * antfeil/N)
print (x0, y0, z0, feildistrib1 - feildistrib2)
En kjøring av programmet ga utskriften
30.9
0.353844048298 0.0889988070385 0.276307017492 1.38777878078e-17
Forklar hva programmet gjør og hva utskriften forteller oss.
Lykke til!!




Også klarer jeg ikke siste steg i følge induksjon:
Følgen {xn} er gitt ved differensligningen
xn = cos(xn−1)xn−2 sin(xn−3) for n ≥ 3
ogx0 =3,x1 =2ogx2 =1.Visvedinduksjonat0≤xn ≤1foralle
heltall n ≥ 3. :(
JoddEHaa
Noether
Noether
Innlegg: 48
Registrert: 19/10-2010 11:14

Kode: Velg alt

distrib1 = (x + y) * z
distrib2 = x*z + y*z 
Dette er vel de viktigste linjene - x y og z er tilfeldige flyttall - resten av programmet tester med masse tall og finner ut hvor ofte de er forskjellige.

Poenget med oppgaven er at dere skal lære om at flyttallsaritmetikk ikke er helt nøyaktig.
Nebuchadnezzar
Fibonacci
Fibonacci
Innlegg: 5648
Registrert: 24/05-2009 14:16
Sted: NTNU

For det første, kan du plassere python koden inne i et kode klammer?
Da skriver du

[code.] python saker [\code.]

Husk å fjerne punktumene. Hvor er det du faller ut i koden, hvilken linje er det du ikke forstår?
"Å vite hva man ikke vet er og en slags allvitenhet" - Piet Hein
https://s.ntnu.no/Integralkokeboken
Lektor - Matematikk, Fysikk og Informatikk
LIMAR
Pytagoras
Pytagoras
Innlegg: 5
Registrert: 16/09-2012 22:40

Når jeg kjørte programmet fikk jeg forskellige svar enn på spørsmål, og når jeg kjørte den igjen fikk jeg nuller.

x = random() hva betyr det.

Hvordan kan jeg beskrive Hva gjør programmet.
LIMAR
Pytagoras
Pytagoras
Innlegg: 5
Registrert: 16/09-2012 22:40

Kan du vær så snil gi meg en kort beskrivelse av programmet som
helhet.
JoddEHaa
Noether
Noether
Innlegg: 48
Registrert: 19/10-2010 11:14

Kode: Velg alt

random() 
er en funksjon som gir deg et flyttall mellom 0 og 1.

Tror ikke du lærer så mye om jeg gjør leksene dine for deg, så jeg vil ikke forklare mer detaljert. Dette må du nok jobbe litt med selv.... Lær deg python, det finnes mange kurs på nettet, og gå gjennom programmet steg for steg.
FredrikM
Poincare
Poincare
Innlegg: 1367
Registrert: 28/08-2007 20:39
Sted: Oslo
Kontakt:

Hei,

Poenget med oppgaven er å se at datamaskiner ikke framstiller flyttall nøyaktig. Hvordan og hvorfor dette skjer er nøye beskrevet i kompendiet til MAT-INF (kapitlene 3-5).

Spør gjerne gruppelæreren din.
Cube - mathematical prethoughts | @MatematikkFakta
Med forbehold om tullete feil. (både her og ellers)
fomlen
Pytagoras
Pytagoras
Innlegg: 14
Registrert: 19/09-2012 20:20

Hei

I Python - programmet: Når 100 * antfeil/N printes ut, betyr det at antfeil står for antall ganger distrib1 != distrib2 og at det uttrykkes i prosent?
2357
Lagrange
Lagrange
Innlegg: 1180
Registrert: 07/12-2007 22:08

Ja.
Svar