Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

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: 2650
Reputace:   229 
 

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: 2650
Reputace:   229 
 

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: 2584
Reputace:   132 
 

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