Matematik
Hvordan finder man en funktion
Hej.
Jeg kender startpunktet, startvinklen og radius(t) til en funktion r(t) = {x(t),y(t)}.
Startvinklen spænder over 360 grader, og den funktion jeg har for "radius" svarer til:
(x'(t)2+z'(t)2)3/2 / (x'(t) z''(t) - z'(t) x''(t))
Dvs. at fortegnet for værdien varierer efter om kurven drejer mod eller med uret.
For at tilpasse x(t) og y(t) har jeg prøvet at bruge 2000 sammenhørende værdier af {t , radius(t)} til en regression af radiusformlen for r(t), hvilken jeg fik ved at lade x(t) og y(t) være to 10'ne grads polynomiumer. Konstanterne og førstegradskoefficienter var selvfølgelig bestemt af startpunktet og startvinkel.
Der er bare det, at min metode ikke kan bruges, hvis radius både er uendelig og 0 i intervallet for t. Desuden tvivler jeg 100% på at det ikke er måden, at gøre det på. Derfor vil jeg spørge hvordan man nemmere kan finde x(t) og y(t), og helst eksakt?
Svar #1
15. september 2011 af Andersen11 (Slettet)
Prøv at formulere hele opgaven. Du har et x(t) og y(t) i r(t), men så går du over til et udtryk med x(t) og z(t) .
Hvad mener du med, at startvinklen spænder over 360º ?
Du tvivler 100% på, at det ikke er måden. Mener du, at du er 100% sikker på, at det er måden? Det er svært at forstå, hvad du skriver.
Svar #2
15. september 2011 af vulcano (Slettet)
Undskyld fejlene. Der skulle have stået: "r(t) = {x(t) , z(t)}" ; "Jeg tvivler på at det er måden" ; "Startvinklen ligger mellem 0 og 360º."
For at tilnærme x(t) og z(t) har jeg sat disse lig med polynomier af en tilstrækkelig høj grad:
x(t)=Startpunktx + sin(startvinkel) t + a0 t2 + b0 t3 ... + j0 t10
z(t)=Startpunktz + cos(startvinkel) t + a1 t2 + b1 t3 ... + j1 t10
Jeg sætter polynomierne ind i radiusformlen for r(t): (x'(t)2+z'(t)2)3/2 / (x'(t) z''(t) - z'(t) x''(t))
Det fremkomne udtryk tilnærmer jeg til radius(t) med regression, således at jeg får gode værdier til a0, a1, b0 osv. hvormed jeg har en tilnærmelse af x(t) og z(t)
Resultatet er sådan set godt nok, men jeg vil dog gerne kunne bestemme dem eksakt, eller bare på en simplere måde.
Svar #3
15. september 2011 af Andersen11 (Slettet)
#2
Hvor kommer den formel for radius r(t) fra? Hvis du har bestemt x(t) og z(t), kender du allerede r(t) som vektor.
Svar #4
15. september 2011 af Andersen11 (Slettet)
#2
Jeg kan nu se, at det komplicerede udtryk, du kalder "radius", er den øjeblikkelige krumningsradius for kurven i kurvepunktet. Der er ikke noget simplere udtryk generelt for krumningsradius.
Hvordan er du kommet frem til dine tabelværdier for x(t) og z(t) ?
Svar #5
15. september 2011 af vulcano (Slettet)
Jeg kender radius(t) som er krumningsradius af parameterfremstillingen {x(t),z(t)}.
Jeg skal så bestemme z(t) og x(t), ud fra sammenhørende værdier mellem t og krumningsradius. Derfor laver jeg regresion af udtrykket (x'(t)2+z'(t)2)3/2 / (x'(t) z''(t) - z'(t) x''(t)) hvor jeg sætter polynomier ind på z(t) og x(t). Polynomierne er af en tilstrækkelig høj grad til at få en R2-værdi der nærmest er 1.
Det jeg ikke selv kan, er at finde en fremgangsmåde til at bestemme x(t) og z(t) eksakt.
Svar #6
15. september 2011 af Andersen11 (Slettet)
#5
Du er så nødt til at vide lidt mere om parameteren t , hvis ρ(t) er det eneste, du kender. Er t buelængden langs kurven? Kender du x'(t), z'(t), og x''(t) og z''(t) ?
Svar #7
15. september 2011 af vulcano (Slettet)
Jeg kender kun startpunkt, starthældningen, ρ(t) samt om funktionen drejer mod eller med uret, da fortegnet for ρ(t) varierer. Men hvis t er buelængden, hvad kan man så sige?
Svar #8
15. september 2011 af Andersen11 (Slettet)
#7
For en plan kurve er kendskabet til krumningen κ(s) som funktion af buelængden s tilstrækkeligt til at rekonstruere kurvens form. Kender du ρ(t) som en tabel eller som en analytisk funktion?
Svar #10
16. september 2011 af Andersen11 (Slettet)
#9
Jeg synes, at du skulle formulere hele opgaven istedet for at vi skal hakke os frem på denne måde.
Svar #11
16. september 2011 af vulcano (Slettet)
Helt konkret har jeg f.eks. brug for en en kurve, der i intervallet 0≤t≤1 skal være en indgang til en cirkel, og kurven skal cirka dreje 45 grader i alt. Ved t=0 skal kurven passe sammen med en lige linje, og ved t=1 skal den passe sammen med en cirkel.
Dvs. at ρ(t) i intervallet 0≤t≤1 skal være monotont aftagende og ρ(0)=∞ ; ρ(1)=1 samt ρ'(1)=0.
Jeg ved ikke hvad jeg skal sige om s, da der ikke rigtig er andre krav. Det er nemlig lige meget om kurven nærmere ender med at dreje 30 eller 60 grader. Jeg synes umiddelbart det lød fornuftigt at s(t)=t, som du nævnte tidligere
Svar #12
16. september 2011 af Andersen11 (Slettet)
#11
Jeg forstår ikke, hvad du mener med, at kurven skal være en indgang til en cirkel. Skal den være en del af en cirkelbue? Som jeg læser det, er kurven mellem 0<t<1 en del af en cirkelbue, og så starter den som tangent til cirklen fot t < 0, og fortsætter som tangent til cirklen fot t>1 .
Du skrev ovenfor, at du kender ρ(t) i intervallet 0<t<1 ? Formuler nu hele opgaven.
Svar #13
16. september 2011 af vulcano (Slettet)
Jeg har ikke nogen opgavetekst.
Kurven skal være en overgang mellem en lige linje og en cirkel med radius=1. Det er ikke godt nok bare at forbinde cirklen og linjen direkte, da krumningsradius skal være jævn hele vejen.
Derfor gælder der de værdier for ρ og ρ' som nævnt i #11. En funktion for krumningsradius kunne derfor være:
ρ(t) = (-t (-4 + 6 t - 4 t2 + t3))-1
Hvis vi samtidigt siger at s(t)=t, så siger du i #8, at kurven kan rekonstrueres, men hvordan?
Svar #14
16. september 2011 af Andersen11 (Slettet)
#13
Det vil så sige, at du kan frit vælge din krumning κ(t), så længe κ(0) = 0 og κ(1) = 1 og κ er en pænt stigende funktion mellem 0 < t < 1 ? For eksempel κ(x) = x .
Man kan så sætte x = t og søge en funktion y = F(x), der er løsning til differentialligningen
κ(x) = F''(x) / (1 + F'(x)2)3/2
Punkterne (x , F(x)) fremstiller da en kurve med den ønskede egenskab.
Skriv et svar til: Hvordan finder man en funktion
Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk?
Klik her for at oprette en bruger.
