Gå til innhold

Matematikk: Finne funk. uttryk fra liste med verdier


Techster

Anbefalte innlegg

Jeg ,med helt gjennomsnittlige mattematikk kunnskaper, forsøker å finne ut hvordan jeg genererer et funksjonsuttryk av typen f(x)=.... for en gitt liste med verdier.

Poenget er at man skal kunne sende en liste med observasjoner til dataprogrammet jeg lager og det skal da kunne tegne opp grafen samt lage en funksjon for uttryket.

 

"Vanlig" regresjon løser dette ved å finne funksjoner som passer NESTEN til grafen, men jeg trenger en som passer PERFEKT.

 

Lar dette seg gjøre?

Lenke til kommentar
Videoannonse
Annonse
Det er kun mulig å få til en perfekt graf om det eksisterer en funksjon som perfekt treffer punktene du har oppgitt.

 

Er det andre måter enn regresjon man kan bruke for å komme fram til en slik funksjon?

Hvis funksjonen eksisterer, så kan du ved regresjon finne den. Spørsmålet er bare hva slags funksjon det er. Jo mer komplisert funksjonen er, jo vanskeligere er regresjonen å utføre.

Lenke til kommentar
Ja.

 

Da trenger du ikke regresjon; det er da bare å lage en standard lineær funksjon mellom to og to enkeltpunkt og sette hele greia sammen til en graf.

 

Enig. Men hva om jeg ønsker å uttryke hele grafen i et funksjonsuttrykk?

Det blir bare en haug med funksjonsuttrykk, hvor noen er gjeldende mellom visse verdier.

 

Altså f(x)=

-uendelig til a: Ax+G

a til b: Bx+H

b til c: Cx+I

c til d: Dx+J

d til e: Ex+K

 

etc. Det blir da funksjonsuttrykket. Mellom a og b er funksjonsuttrykket Bx + H (store og små bokstaver er forskjellige konstanter, x er en variabel). Jeg tror ikke det finnes en annen mulighet for å uttrykke rette linjer mellom punkter på den måten du spør etter.

Lenke til kommentar

Hva mener du med "perfekt graf"? Det er et meningsløst uttrykk. Gitt at du har n datapunkter kan du alltid finne et n'tegradspolynom som treffer punktene nøyaktig. Da blir funksjonen seende slik ut:

pgraph2.png

 

Som du ser, "perfekt graf" ifølge regresjonen :D

 

Det eneste du kan gjøre er regresjon mot en kjent funksjon (polynomer, eksponentialfunksjoner, logaritmer,...) og se om resultatet passer sånn noenlunde, eller du kan sjekke opp splines Da har du plutselig litt mer kontroll over funksjonen.

 

 

 

EDIT: Ah, burde lest ferdig postene over. Vil du kun ha rette linjer mellom punktene bruker du linære splines. Metoden er beskrevet over. Funksjonen beskriver du med delt forskrift.

Endret av laohu
Lenke til kommentar

Har du en teoretisk kurve for måledataene? Det greieste er kanskje å laste inn måledataene (samt helst feilestimatene deres) inn i MatLab, og bruke "curve fitting toolbox"... ROOT har også en del meget fancy kurvefittings-verktøy, men krever ofte litt mer å sette seg inn i - se spesiellt på RooFit pakka om du skal fitte noe skikkelig gris...

 

Hvaslags måledata er det snakk om?

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...