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.

Moderatorer: Aleks855, Gustav, Nebuchadnezzar, Janhaa, DennisChristensen, Emilga

Svar
Shira
Cayley
Cayley
Innlegg: 53
Registrert: 15/12-2002 20:05
Sted: Sarpsborg
Kontakt:

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!
sparks
Pytagoras
Pytagoras
Innlegg: 15
Registrert: 11/04-2003 17:58
Sted: Oslo
Kontakt:

har ikke drevet med OO på en stund.. Heller ikke med slike oppgaver..
ayche`pea
PeerGynt
World works; done by its invalids
World works; done by its invalids
Innlegg: 389
Registrert: 25/09-2002 21:50
Sted: Kristiansand

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!
Shira
Cayley
Cayley
Innlegg: 53
Registrert: 15/12-2002 20:05
Sted: Sarpsborg
Kontakt:

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!
administrator
Sjef
Sjef
Innlegg: 883
Registrert: 25/09-2002 21:23
Sted: Sarpsborg

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 ... od&spell=1

MVH
Kenneth
dag
Pytagoras
Pytagoras
Innlegg: 10
Registrert: 08/12-2002 02:33
Kontakt:

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
01
Pytagoras
Pytagoras
Innlegg: 16
Registrert: 16/11-2003 15:47

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.
Shira
Cayley
Cayley
Innlegg: 53
Registrert: 15/12-2002 20:05
Sted: Sarpsborg
Kontakt:

takker ;) tror jeg har skjønt det nå :D
I have not failed, I've just found 10'000 ways that won't work!
Svar