Gå til innhold

Fremhevede innlegg

Skrevet

Jeg skal skrive en differensligning i en while løkke, noen som kan hjelpe meg?

Videoannonse
Annonse
Gjest SmallTalk
Skrevet
Jeg skal skrive en differensligning i en while løkke, noen som kan hjelpe meg?

Noen spesiell differenslikning, eller hvilken som helst? Er det bare while-løkken du sliter med, eller er det generell syntaks? Og hvilket språk?

Kommer du med en differenslikning du vil ha inn, så kan jeg hjelpe med programmeringa. Er 2 år siden jeg sist så på en differenslikning, så det meste av matta rundt er glemt. :)

(PS: Programmering er det nok et mindre tall her på KG som kan. Jeg vil tro at du får bedre respons på forumet til Hardware.no. :))

Skrevet (endret)
Noen spesiell differenslikning, eller hvilken som helst? Er det bare while-løkken du sliter med, eller er det generell syntaks? Og hvilket språk?

Kommer du med en differenslikning du vil ha inn, så kan jeg hjelpe med programmeringa. Er 2 år siden jeg sist så på en differenslikning, så det meste av matta rundt er glemt. :)

(PS: Programmering er det nok et mindre tall her på KG som kan. Jeg vil tro at du får bedre respons på forumet til Hardware.no. :))

I python, kan du det?

Endret av venus_
Skrevet (endret)

Si du har dette utgangspunktet:

20X + X^n - X^n-1 = 0

hvor 0 < X <= 400 og er et heltall

og 0 < n < 40

tok bare et eksempel her er jo ikke en generell differensligning

Skriver i pseudokode:

define X = 1

define n = 1

While( n < 40){

While (X < 400){

If ( (20*X + X^n - X^(n+1)) == 0)

print ("løsningen er X =" + X + "og n er" + n)

break

Else

X=X+1

}

n=n+1

}

Endret av mann23
Gjest SmallTalk
Skrevet
I python, kan du det?

Nope, har i hovedsak holdt meg til OO-språk som C++ og Java.

Pseudokoden til Mann23 ser ut til å være er veldig godt utgangspunkt, og det du trenger å gjøre er å bestemme en differenslikning, samt oversette pseudokoden til Python script.

Generell kode for while-løkke i Python:

#!/usr/bin/python

n = 12

i = 1

while i<=12:

print i,"x 8 =", i*8

i=i+1

print "hello world"

Forøvrig så kan muligens denne være nyttig med tanke på syntaks osv. :)

Skrevet (endret)

borte

Endret av venus_
Skrevet

Det er veldig enkelt. Men du bør virkelig gjøre det selv, og ikke få noen andre til å skrive koden for deg. Du lærer ikke en dritt av at vi gir deg fasiten her.

Skrevet
Det er veldig enkelt. Men du bør virkelig gjøre det selv, og ikke få noen andre til å skrive koden for deg. Du lærer ikke en dritt av at vi gir deg fasiten her.

Problemet er at jeg har holdt på lenge med den, men får ikke den til. Jeg vet godt at jeg ikke lærer noe om jeg ikke prøver selv og bare får fasiten med en gang.

Skrevet (endret)

Hit har jeg forresten kommet selv:

x0 = 100

p = 5

N = 4

n = 1

while n <= N:

x[n] = x[n-1] + (p/100.0)*x[n-1]

n = n+1

print x

Men står fast nå.

Endret av venus_
Skrevet
Hit har jeg forresten kommet selv:

x0 = 100

p = 5

N = 4

n = 1

while n <= N:

x[n] = x[n-1] + (p/100.0)*x[n-1]

n = n+1

print x

Men står fast nå.

Du har ikke definert tabellen x. Da kan du heller ikke bruke den, som du gjør i 1. linje av while. Om du ikke skulle bruke tabeller, så må du fjerne hele linjen.

Hint: Du bruker bare de to forrige verdiene hver gang... Du trenger ikke lagre alle de tidligere veridene, du trenger bare lagre de to forrige verdiene. Og de kan oppdateres.

Skrevet
Du har ikke definert tabellen x. Da kan du heller ikke bruke den, som du gjør i 1. linje av while. Om du ikke skulle bruke tabeller, så må du fjerne hele linjen.

Hint: Du bruker bare de to forrige verdiene hver gang... Du trenger ikke lagre alle de tidligere veridene, du trenger bare lagre de to forrige verdiene. Og de kan oppdateres.

Skjønner ikke hvordan jeg skal definere fuksjonen uten å skrive den som jeg har gjort i første linjen av løkken.

Skrevet
Skjønner ikke hvordan jeg skal definere fuksjonen uten å skrive den som jeg har gjort i første linjen av løkken.

Dere har garantert hatt noe lignende i pensum. Dere har ikke lov til å bruke array, skriver du. Da kan du jo ikke gjøre det som du har gjort.

Nok et hint:

a = 1

b = 2

a = b

b = 3

Hvorfor bruke en tabell, når man ikke trenger huske mer enn de to forrige verdiene av gangen?

Skrevet (endret)
Dere har garantert hatt noe lignende i pensum. Dere har ikke lov til å bruke array, skriver du. Da kan du jo ikke gjøre det som du har gjort.

Nok et hint:

a = 1

b = 2

a = b

b = 3

Hvorfor bruke en tabell, når man ikke trenger huske mer enn de to forrige verdiene av gangen?

Takk. Men hvordan skal jeg skrive selve funksjonen? Istedet for: x[n] = x[n-1] + (p/100.0)*x[n-1].

Endret av venus_
Skrevet
Takk. Men hvordan skal jeg skrive selve funksjonen? Istedet for: x[n] = x[n-1] + (p/100.0)*x[n-1].

Siden dette lukter skoleoppgave lang vei gir jeg deg ikke fasiten. Jeg har langt på vei sagt hva du skal gjøre. Igjen: Du ser av funksjonen din at du for å regne ut x[n] bare bruker x[n-1]. Du bruker ikke x[n-2], x[n-3], osv. Hvorfor lagre dem da? Les det jeg skrev over. Det er alt du trenger.

Skrevet
Siden dette lukter skoleoppgave lang vei gir jeg deg ikke fasiten. Jeg har langt på vei sagt hva du skal gjøre. Igjen: Du ser av funksjonen din at du for å regne ut x[n] bare bruker x[n-1]. Du bruker ikke x[n-2], x[n-3], osv. Hvorfor lagre dem da? Les det jeg skrev over. Det er alt du trenger.

Ja dette er en skoleoppgave.

Jeg har kun hatt informatikk noen uker, derfor er ikke det så lett for meg å skjønne hva du mener. Skjønner det du skrev i forrige innlegg, men trodde du mente jeg ikke kunne skrive funksjonen som x[n] osv.

Skrevet
Ja dette er en skoleoppgave.

Jeg har kun hatt informatikk noen uker, derfor er ikke det så lett for meg å skjønne hva du mener. Skjønner det du skrev i forrige innlegg, men trodde du mente jeg ikke kunne skrive funksjonen som x[n] osv.

Du kan ikke skrive den som x[n]. Du har ikke lov å bruke tabeller. Men du TRENGER ikke bruke tabeller, på grunn av det jeg har nevnt over. Når du har en tabell, lagrer du samtlige tall du regner ut. Det trenger du ikke, for å regne ut et nytt tall bruker du kun det forrige tallet du regnet ut. Se på formelen din. Når du regner ut x[n], så bruker du bare x[n-1]. Derfor er det helt unødvendig å lagre tallene i en tabell.

Se på det jeg skrev med a'ene og b'ene. Du kan oppdatere en variabel. Du kan sette a = b, og så lagre noe helt nytt i b, mens den gamle verdien til b er trygt lagret i a.

Men det står garantert noe i boken deres om dette. Og dere har vært igjennom det på forelesninger.

Skrevet
Du kan ikke skrive den som x[n]. Du har ikke lov å bruke tabeller. Men du TRENGER ikke bruke tabeller, på grunn av det jeg har nevnt over. Når du har en tabell, lagrer du samtlige tall du regner ut. Det trenger du ikke, for å regne ut et nytt tall bruker du kun det forrige tallet du regnet ut. Se på formelen din. Når du regner ut x[n], så bruker du bare x[n-1]. Derfor er det helt unødvendig å lagre tallene i en tabell.

Se på det jeg skrev med a'ene og b'ene. Du kan oppdatere en variabel. Du kan sette a = b, og så lagre noe helt nytt i b, mens den gamle verdien til b er trygt lagret i a.

Men det står garantert noe i boken deres om dette. Og dere har vært igjennom det på forelesninger.

Nei, det står ikke noe om differensligninger i whileløkker. I kapitlet om differnsligninger står det bare om for løkker. Jeg skjønner det du mener nå, men problemet er at jeg skjønner ikke hvordan jeg skal skrive formelen for differensligningen uten å skrive den som x[n]...

Skrevet
Nei, det står ikke noe om differensligninger i whileløkker. I kapitlet om differnsligninger står det bare om for løkker. Jeg skjønner det du mener nå, men problemet er at jeg skjønner ikke hvordan jeg skal skrive formelen for differensligningen uten å skrive den som x[n]...

Drit i at det er differensligninger. Det er revnende likegyldig. Dette handler om variabler, ikke differensligninger. Du skal bruke variabler til å løse en differensligning, i dette tilfellet. Slå opp i kapittelet om variabler. Du har hengt deg alt for mye opp i selve teksten i stedet for oppgaven. Her er diffligningen bare et eksempel på en type ting som kan løses ved hjelp av å manipulere variabler.

Igjen: drit i diffligningen! Se på uttrykket, og glem at det er en diffligning. Det eneste du skal gjøre, er å regne ut et tall. Dette tallet avhenger av et annet tall som du tidligere har regnet ut. Så enkelt er det. Du har låst deg helt i tabeller og differ.

Om du setter inn a og b i stedet for x[n-1] og x[n], så kommer du langt. Ikke se så mye på det du hadde i for-løkken, og drit i å tenke at "nå har jeg en diffligning". Tenk "nå har jeg et uttrykk jeg skal regne ut, ved hjelp av variabler".

Gjest Gjest_Ruby_*
Skrevet
Nope, har i hovedsak holdt meg til OO-språk som C++ og Java.

Pseudokoden til Mann23 ser ut til å være er veldig godt utgangspunkt, og det du trenger å gjøre er å bestemme en differenslikning, samt oversette pseudokoden til Python script.

Generell kode for while-løkke i Python:

#!/usr/bin/python

n = 12

i = 1

while i<=12:

print i,"x 8 =", i*8

i=i+1

print "hello world"

Forøvrig så kan muligens denne være nyttig med tanke på syntaks osv. :)

Jeg trodde seriøst ikke at det var programmeringsreferanse i nicket ditt. Så feil kan man ta.

Skrevet (endret)

borte

Endret av venus_

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!

Opprett en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...