Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 26. 01. 2021 22:36

Ivino
Zelenáč
Příspěvky: 6
Škola: UK
Pozice: student
Reputace:   
 

Fitovanie, regresia kružnice

Akoby ste riešili fitovanie (regresiu).

Sú dané 4 body (alebo viac napr.10 bodov) chceme ich preložiť kružnicou.
Môžem použiť metódu najmenších štvorcov?
Ako to vyriešiť?
{napr. body: A[4,1 9] B[7,7 8,7] C[9 5,2] D[11,4 3,5]}

Offline

 

#2 27. 01. 2021 11:39 — Editoval Brano (27. 01. 2021 11:40)

Brano
Příspěvky: 2673
Reputace:   232 
 

Re: Fitovanie, regresia kružnice

Ak chces taku pravovernu regresiu, tak by si mal minimalizovat sucet stvorcov vzdialenosti bodov $z_i=(x_i,y_i)$ od kruznice $k:(x-p)^2+(y-q)^2=r^2$
$d(z_i.k)=|\sqrt{(x_i-p)^2+(y_i-q)^2}-r|$
a teda treba minimalizovat fciu
$L=\sum_i (\sqrt{(x_i-p)^2+(y_i-q)^2}-r)^2$
vzhladom na parametre $p,q,r$

Kedze je uloha znacne nelinearna, tak je vhodne pouzit nejaku iterativnu metodu, ale v mnohych softveroch ich najdes uz dobre implementovane, tak sa s tym nemusis velmi trapit trebars v pythone mas basinhopping

Daju sa najst aj ine zmysluplne $L$ na minimalizaciu, len to uz nebude "metooda najmensich stvorcov". Ale aj ked najdes krajsie $L$ tak sa podla mna nelinearitam nevyhnes, takze pravdepodobne bude treba iterovat a ak to bude pocitat pocitac, tak ti to moze byt jedno

Offline

 

#3 27. 01. 2021 14:57

Ivino
Zelenáč
Příspěvky: 6
Škola: UK
Pozice: student
Reputace:   
 

Re: Fitovanie, regresia kružnice

↑ Brano: vďaka Braňo skúsim...

Offline

 

#4 28. 01. 2021 11:41

Ivino
Zelenáč
Příspěvky: 6
Škola: UK
Pozice: student
Reputace:   
 

Re: Fitovanie, regresia kružnice

↑ Brano:
Tak som to skúsil vo WolframAlfa som zderivoval je to celkom krkolomné.

Nenašiel som v Pythone tu knižnicu “basinhopping”tak neviem kde ju nájsť ...

Offline

 

#5 28. 01. 2021 21:41 — Editoval Brano (28. 01. 2021 21:49)

Brano
Příspěvky: 2673
Reputace:   232 
 

Re: Fitovanie, regresia kružnice

↑ Ivino:

ta funkcia je sucast "scipy" (presnejsie "scipy.optimize"  ten odkaz nefungoval?) ale je aj kvantum inych minimalizacnych funkcii napriklad
https://docs.scipy.org/doc/scipy/refere … imize.html

ale vacsina jazykov ma nieco uz implementovane, povedz v com rad robis a mozem pohladat a nieco odporucit
(ja vskutocnosti v pythone velmi neprogramujem, len viem, ze je to popularny jazyk tak preto som odporucil nieco z neho co som uz aspon raz pouzil)

Offline

 

#6 25. 10. 2021 10:02

Eratosthenes
Příspěvky: 3111
Reputace:   140 
 

Re: Fitovanie, regresia kružnice

↑ Ivino:

Ahoj,

napiš si obecnou rovnici kružnice jako funkci dvou proměnných

[mathjax]z(x;y)=x^2+y^2+Ax+By+C[/mathjax]

Pro bod [mathjax][x;y]=[i;j][/mathjax] ležící na kružnici je [mathjax]z(i;j)=0[/mathjax], když je mimo, pak [mathjax]z(i;j) \not = 0[/mathjax]

Takže vezmeš n>3 bodů a hledáš A;B;C metodou nejmenších čtverců, tj. tak, aby [mathjax]\sum z^2(i,j)=min[/mathjax]

Získáš kružnici, která je danými body proložena metodou nejmenších čtveců, tj. pro body ležící na kružnici ti ta suma vyjde nula.


Budoucnost patří aluminiu.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson