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 11. 11. 2009 11:53

Fieldy
Příspěvky: 42
Reputace:   
 

Metoda nejmenších čtverců (pomocí matlabu)

Zdravim všechny. Rad bych vás opět požádal o pomoc v řešení numerické matematiky. Nejsem si zcela jistý jak s tímto naložit, jediné co jsem zatím snad úspěšně zvládl bylo vykreslení bodů do grafu v matlabu, ale dál nějak nechápu, pokud by někdo mohl pomoci, budu jedine rád.

http://forum.matweb.cz/upload/1257936544-Matika.png

Offline

 

#2 11. 11. 2009 12:10 — Editoval jelena (11. 11. 2009 12:13)

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ Fieldy:

Zdravím,

aby se dalo použit lineární model, je potřeba substituce 1/u=w (doplň ještě jeden řádek, ve kterém bude přepočet 1/u pro každou buňku), pak můžeš mít lineární v=c_0*w +c_1.

Vzorce pro výpočet - případně tady: http://cs.wikipedia.org/wiki/Metoda_nej … verc%C5%AF (aproximace přímkou - lineární regrese).

Stačí tak na úvod?

Offline

 

#3 11. 11. 2009 13:08

Fieldy
Příspěvky: 42
Reputace:   
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ jelena: Zdravim děkuji za pomoc do úvodu. Takže jsem to nějak pokutil nějak. Napíši jak jsem postupoval: udělal jsem to w pak jsem si nechal vykreslit nový graf pro v a w, dále z rovnice v=c_0*w +c_1 jsem zjistil dvě rovnice o dvou neznámích, což jsem řesil maticí. Vysledná rovnice byla ve tvaru fí=3,2247w+0,7334 a tu jsem vkreslil do toho sameho grafu. Měla by to tedy být ta přímka, která vystihuje ty body.


Tady jsem hodil ten matlab, jestli ten postup je správně, snad se na to někdo mrkne:)
>> v=[3.9 1.1 2.8 2.7 1.6 1.9 1.4 1.5 1.4]
>> w=[0.555556 0.526316 0.454545 0.4 0.384615 0.357143 0.333333 0.322581 0.294118]
>> plot(w,v,'o')
>> A=[13.16388 3.6282; 3.6282 9]
>> B=[45.11; 18.3]
>> C=A\B
>> hold on
>> fplot('3.2247*w+0.7334',[0.25,0.65])

Offline

 

#4 11. 11. 2009 21:00 — Editoval jelena (11. 11. 2009 21:03)

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ Fieldy:

Zdravím, odborník na matlab se snad také podívá :-)

K metodě čtverců - úplně všemu nerozumím (jak jsou otázniky) a celkově, co si mám představit jako A, B, C?:

co je A? = [13.16388 ?? dal rozumím: $\sum x_i=3.6282$, $\sum x_i=3.6282$$9=n$]
co je B? = [45.11 ??; $\sum y_i=18.3$]
C=A\B ??? - co to je?

Zkus raděj napsat vzorce, co vkladaš, neboť jak můj "ruční" výpočet pomocí EXCELu (za použití vlastních vzorců a za použití funkce REGRESE) dává shodně: c_0=5,92, c_1=-0,38

Měla bých regresní přímku: $v=5.92w-0.38$ nebo v zadaném zápisu funkce: $v=\frac{5.92}{u}-0.38$

Graf: http://forum.matweb.cz/upload/1257969359-metoda.JPG (omlouvám se, je to strašné provedení) je tam zakreslena zeleně i tvoje křívka

V žádném případě netvrdím, že to mám dobře, spiš bych chtěla vědet, proč nemáme shodný výsledek (i když "charakterově" je to podobné).

MATLAB provádí text na odlehlé hodnoty?

Děkuji za doplnění, snad se dopracujeme ke zdarnému výsledku (také doufám, že kolega odborník se objeví a zkontroluje :-)

Offline

 

#5 11. 11. 2009 23:57

Fieldy
Příspěvky: 42
Reputace:   
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ jelena: Ty A,B jsou matice, jelikož podle vzorců, třeba na webu http://homel.vsb.cz/~kuc14/teach_NM, se řeší ty c_o a c_1 pomocí matic. C=A\B je zápis v matlabu, nevím přesně co vlastně dělá, ale kopíroval jsem jen postup na webu. Já jsem si stejně říkal, že ta přímka, která mi vyšla nevystihuje dost přesně ty body co jsou zadané. Takže kde je chyba:)

Takže jsem si přepsal do matlabu řádek v a pak to 1/u, což je to w, to jsem zjištoval v excelu, snad je to dobře. Pak jsem vykreslil ten graf z těchto dvou řádků. Zjistil jsem body a hledaná je ta přímka co nejlím vystihuje ty body, pokud to chápu dobře.
>> plot(w,v,'o') - to je vykreslení těch bodů
Pak už jsem jel podle toho webu z VSB, takže je dost možný, že ta chyba je v těch úpravách tam, páč to mi není uplně jasný. Ale tam jsem došel práve k těm maticím A,B. a Pak z matic jsem došel k výsledku c_0 a c_1.

Offline

 

#6 12. 11. 2009 00:10 — Editoval gladiator01 (12. 11. 2009 00:11)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

C=A\B je dělení matic zleva - použivá se např. při řešení soustavy rov. - viz. http://www.fsid.cvut.cz/cz/u201/map/mat … mbt105.htm


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#7 12. 11. 2009 00:19

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ Fieldy:

Děkuji, řekla bych, že problém bude zde:

V matici A 13.16388 - počitaš tak že sečteš hodnoty w a pak to umocniš na druhou? (w1+w2+w3+...)^2. To je jinak - Je potřeba každou hodnotu nejdřím umocnit na druhou a pak sečist:

$\sum w^2_i=w_1^2+w_2^2+w_3^2+\ldots+w_9^2$

A stejne tak neni OK v matici B ma byt $\sum w_iv_i=w_1\cdot v_1+w_2\cdot v_2+w_3v_3+\ldots+w_9v_9$ / nejdriv vynasobit a pak secit.

Doufam, ze vice problemu by nemelo byt. Ať se to podaří.

Offline

 

#8 12. 11. 2009 00:25 — Editoval jelena (12. 11. 2009 00:38)

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ gladiator01:

Zdravím a děkuji :-)

tipovala jsem to na zapis matic (já bych tomu raděj řekla, že to je soustava lineárních rovnic, ať z toho nemám takovou hrůzu, jako z celé lineární algebry), ale nevěděla jsem, kde kolega sebral první polozky, snad to uz bude OK.

EDIT: odkaz od kolegy nefunguje (čárka na závěr), zřejmě se myslí tento odkaz: http://mdg.vsb.cz/zmoravkova/NaSM/mnc.html a z toho kódu je vidět, že sumy není nutné počítat v EXCELu, ale přímo v matlabu, je to tak?

Offline

 

#9 12. 11. 2009 13:51

Fieldy
Příspěvky: 42
Reputace:   
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ jelena: Opraveno. Byla chyba v tom zapisu matic, ale vysledek je porad jeste odlisny od tveho. Vyslo mi v=5.65*w-0.2451, takze ted uz nevim kde chybu hleda. Jinak ten odkaz jsem tam zkopiroval spatne s tou carkou, je to http://homel.vsb.cz/~kuc14/teach_NM jsou zde i videa k tem ctvercovym metodam, podle nich jsem postupoval

Offline

 

#10 12. 11. 2009 14:18

jelena
Jelena
Místo: Opava
Příspěvky: 30020
Škola: MITHT (abs. 1986)
Pozice: plním požadavky ostatních
Reputace:   100 
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ Fieldy:

Z EXCELu mám:

$\sum w^2_i=1.5585$ - první pozice v matici A,

$\sum w_iv_i=7,8485$ - první pozice v matici B

Řekla bych, že už jen otázka zaokrouhlování. Jelikož používáme vstupní hodnoty na jednu čislici po čárce, měli bychom i mezipřepočty zaokrouhlit nejvýš na 2 čislice po čárce (nebo úplně koréktně, sladit platné čislice ve vstupu, v mezivýpočtu a ve výsledku).

Obrázkově už se také shodujeme lépe: http://forum.matweb.cz/upload/1258031629-fieldy.JPG (nová křívka je označeno jako F1, je to už v zápisu na lomenou funkci)

Máte provést test shody? V materiálu http://mdg.vsb.cz/zmoravkova/NaSM/mnc.html je vzor.

Také podle zadání se mi zdá, že stejně musíš každý mezivýpočet napsat do sloupců (v MATLAB nebo v EXCEL?). Je to tak?

Já už teď až do věčera nebudu mít čas na nějaké podrobné řešení. Ať se to podaří.

Offline

 

#11 12. 11. 2009 15:13

Fieldy
Příspěvky: 42
Reputace:   
 

Re: Metoda nejmenších čtverců (pomocí matlabu)

↑ jelena: Asi jsou to nejspis jen ty chyby ze zaokrouhlovani, zkousel jsem to ruzne, ale stejne se ke stejnemu vysledku nedopatram, nicmene jsem rad, ze se priklad podaril vyresit. Ten postup jak jsem resil ulohu mame psat do wordu i s tabulkama vypoctu, takze z excelu aji z matlabu prikazy a vypocty, ale to je az to posledni. Ja tedy mnohokrat dekuji a pristi tyden budu konzultovat vysledky s vyucujicim.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson