numerisk derivasjon

Her kan du stille spørsmål vedrørende problemer og oppgaver i matematikk for videregående skole og oppover på høyskolenivå. Alle som føler trangen er velkommen til å svare.

numerisk derivasjon

Innlegg Shira » 04/11-2003 21:21

Dette er egentlig en programeringsoppgave i java, men jeg bør jo finne ut litt om oppgaven først, jeg har lett i lærebøkene mine, men der står det så kortfattet at jeg ikke skjønner mere enn jeg gjorde fra før. Oppgaven lyder som følger:

Oppgaven går ut på å lage en objektklasse som utfører numerisk derivasjon og numerisk løsning for en funksjon
på formen f(x) = ax2 + bx + c, v.h.a. Newtons metode.

Siden jeg ikke har snøring på hva dette vil si, spør jeg med et lite håp om få greie på det her, og kanskje gi meg et eksempel på numerisk derivasjon og løsning og Newtons metode? om det er noen her som skulle ha litt peiling... :?: :?
I have not failed, I've just found 10'000 ways that won't work!
Shira offline
Cayley
Cayley
Brukerens avatar
Innlegg: 53
Registrert: 15/12-2002 20:05
Bosted: Sarpsborg

Innlegg sparks » 04/11-2003 21:23

har ikke drevet med OO på en stund.. Heller ikke med slike oppgaver..
ayche`pea
sparks offline
Pytagoras
Pytagoras
Innlegg: 15
Registrert: 11/04-2003 16:58
Bosted: Oslo

Innlegg PeerGynt » 04/11-2003 22:41

Jeg gå ut ifra at du ikke har problemer med å lage en objektklasse i java, men jeg er ikke sikker på Newtons metode for derivering av en funksjon går ut på. Er du sikker på at det ikke er integrasjon? Oppgaven er videre uklar mht hva som menes med "numerisk loesning". Er det f(x) = 0 vi er ute etter?

Dette var forvirrende!
PeerGynt offline
World works; done by its invalids
World works; done by its invalids
Innlegg: 389
Registrert: 25/09-2002 20:50
Bosted: Kristiansand

Innlegg Shira » 05/11-2003 14:09

neida, det er de matematiske utrykkene jeg prøver å finne ut her og hva de går ut på. Jeg har også fått opplyst følgende (tenkte det ikke var nødvendig):

DELTA_X
Konstant som benyttes i forbindelse med numerisk derivasjon. Typisk verdi er 0,0001

a
Koeffisienten a i ligningen

b
Koeffisienten b i ligningen

c
Koeffisienten c i ligningen

double getZeroValue

(double start_x)
Metode som finner x-verdi der f(x) = 0 basert på Newtons metode. start_x angir x-verdi vi starter iterasjonen med.

getFunctionValue
(double x)
Metode som finner verdien av f(x) for den verdien x.

public double getDerivedValue
(double x)
Metode som v.h.a. numerisk derivasjon finner den deriverte for f(x) i x.

NewtonsMethod

(int ai, int bi, int ci)
Konstruktørmetode der vi tilordner verdier til de tre koeffisientene a, b og c.

I BlueJ lager du et objekt av klassen NewtonsMethod. Bruk følgende verdier for koeffisientene: a=2, b=5, c=-5. Prøv å starte med verdiene –10 og +10 for x, og sjekk at du får tak i begge nullpunktene. Eksprimenter også med litt større og litt mindre verdier av DELTA_X. Sjekk at eksplisitt løsning av ligningen gir samme resultat.

Dersom du får god tid kan du jo lage en ekstra metode som tegner grafen til funksjonen for x-verdier i intervallet –4 til +2.



IKKE bry deg om det som har med programmet å gjøre etc, det er helt greit, det er å forstå det mattematiske i denne oppgaven jeg gjerne vil vite.
I have not failed, I've just found 10'000 ways that won't work!
Shira offline
Cayley
Cayley
Brukerens avatar
Innlegg: 53
Registrert: 15/12-2002 20:05
Bosted: Sarpsborg

Innlegg administrator » 05/11-2003 22:25

Hei!
Newtons metode kan brukes til så mangt. Vi har ikke noe stoff om den her på sidene (foreløpig??!) men jeg tror du finner det du trenger her:

http://www.google.com/search?num=100&hl=en&ie=UTF-8&q=Newton%27s+method&spell=1

MVH
Kenneth
administrator offline
Sjef
Sjef
Innlegg: 871
Registrert: 25/09-2002 20:23
Bosted: Oslo

Innlegg dag » 08/11-2003 00:54

Jeg kan ikke java, men du forstår kanskje litt C? ;-)
Her et et eksempel på numerisk derivasjon av ax^2 + bx + c i C:

Programmet vil avslutte med å gi den numeriske løsningen av f'(x) ved x = 4.

#include <stdio.h>

#define DELTA_X 0.0001
/* Jo lavere DELTA_X er, dess bedre vil resultatet bli */

int main(void) {
int a, b, c;
int x;
float nderiv;

/* f(x) = 2x^2 + 5x - 5, x = 4 */
a = 2;
b = 5;
c = -5;
x = 4;

/* Kalkulere f'(4) ved å bruke formelen f'(x) = (f(x+delta x)-f(x))/delta x*/
nderiv = ((a*((x+DELTA_X)*(x+DELTA_X))+b*(x+DELTA_X)+c)-(a*x*x+b*x+c))/DELTA_X;
printf("f'(%d) = %f\n", x, nderiv);

return 0;
}
Dag Haavi Finstad
dag offline
Pytagoras
Pytagoras
Innlegg: 10
Registrert: 08/12-2002 02:33

newtons metode

Innlegg 01 » 26/11-2003 13:04

Newtons metode handler ikke om aa derivere f(x), men aa loese ligningen f(x)=0. Det er en algoritme som gir en vilkaarlig noeyaktig loesning.
Hvis det kan vaere til noe hjelp, saa gjoer man som foelger:
1. Finner ligningen til tangenten til kurven i et gitt punkt(y=f'(a)(x-a)+f(a), hvor a er x-verdien til punktet.
2. Denne tangenten krysser x-aksen i punktet med x-verdi b.
3. Gjoer akkurat som i 1. bare med b i stedenfor a.

x-verdiene du faar vil etterhvert naerme seg loesningen paa f(x)=0.
Det finnes enklere algoritmer for aa loese f(x)=0 enn Newtons, men den er nok den mest effektive.
01 offline
Pytagoras
Pytagoras
Innlegg: 16
Registrert: 16/11-2003 15:47

Innlegg Shira » 27/11-2003 19:37

takker ;) tror jeg har skjønt det nå :D
I have not failed, I've just found 10'000 ways that won't work!
Shira offline
Cayley
Cayley
Brukerens avatar
Innlegg: 53
Registrert: 15/12-2002 20:05
Bosted: Sarpsborg

Hvem er i forumet

Brukere som leser i dette forumet: MSN [Bot] og 41 gjester