lineariseren d.m.v. aanpassing x-as

Moderators: dirkwb, Xilvo

Reageer
Berichten: 10

lineariseren d.m.v. aanpassing x-as

Hallo allemaal,

ik heb het volgende wiskundige probleem dat ik moet oplossen om verder te komen met een project:

We hebben een functie y de afhangt van de variabele x we weten echter niet exact hoe. De variabele y geplot als functie van x levert een sinus op met een niet constante frequentie. Om dit probleem op te lossen willen we een functie f(x) definiëren. Als we de y plotten als functie f(x) zou dit een sinus met een constante frequentie op moeten leveren. Weet er iemand hoe we een algloritme kunnen maken om f(x) te berekenen?

m.v.g.

Remco

Gebruikersavatar
Berichten: 2.906

Re: lineariseren d.m.v. aanpassing x-as

Ik snap je niet helemaal. Hoe kun je een functie plotten als je het functievoorschrift niet hebt?

Bedoel je dat je een tabel met x- en y-waarden hebt die je uitgezet hebt in een grafiek?
while(true){ Thread.sleep(60*1000/180); bang_bassdrum(); }

Berichten: 10

Re: lineariseren d.m.v. aanpassing x-as

De functie y(x) zijn metingen die zijn gedaan, daarom weten wij het functievoorschrift niet.

Gebruikersavatar
Berichten: 2.609

Re: lineariseren d.m.v. aanpassing x-as

Kan je misschien eens een plot tonen van je metingen, want ik kan er mij niet direct iets bij voorstellen?

Berichten: 10

Re: lineariseren d.m.v. aanpassing x-as

De meting kan er bijvoorbeeld zo uitzien:

http://www.wolframalpha.com/input/?i=+y%3Dsin%28x%5E0.5%29+plot%28y%29+

Zoals je ziet is de frequentie van de sinus(y) niet constant als functie van x.

Wat we nu dus willen doen is een functie f(x) definiëren, waarbij geldt dat als we y plotten als functie van f(x) er een sinus met een constante frequentie ontstaat. Bedenk wel dat we het functievoorschrift van y onbekend is.

m.v.g.

Remco

[img]C:[/img]

Gebruikersavatar
Berichten: 2.609

Re: lineariseren d.m.v. aanpassing x-as

Als je een model kan opstellen van het probleem, dan kan je met numerieke technieken de parameters van het model proberen te schatten. (Gewoon door iteratief een aantal mogelijkheden te proberen of met technieken als gradient-descent, gauss-newton, levenberg-marquardt)

Je moet dan ook een kostfunctie kiezen die bepaalt hoe goed de metingen in het model passen. De Mean Square Error is hiervoor populair. (Die moet zo klein mogelijk zijn.)

In het voorbeeld dat je geeft kan je als model y = A*sin(x^B + C) kiezen en dat zal dan een 'gewone' sinus opleveren met A = 1, B = 2 en C = 0.

Dus als je de functie plot als sin(z) met z = x², dan krijg je in jouw voorbeeld een normale sinus.

Reageer