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
Stránky: 1
↑ Fieldy:
Zdravím,
zkus projit toto téma, teorie: http://homel.vsb.cz/~kuc14/textyNM/kap2.pdf (kapitola 2.4). Co konkrétně máš zadávat do matlab, nevím (neovládám) - pravděpodobně iterační zápis funkce:
původní funkce: 
iterační zápis:
nebo
ručně by bylo potřeba provést odhad intervalu, kde se nachází kořen, třeba graficky:
, asi to zadaš stroji, at to odhadne.
zvolit iterační krok a ověřit, který zápis iteračního zápisu povede ke konvergenci.
Ale opravdu, se samotným programem - doufám, že se zapojí někdo z kolegů. Stačí tak pro začátek?
Offline
↑ jelena: jj v tom matlabu uz vim jak na to, priblizne koreny ziskam z grafu vykreslenyho v matlabu, jen jsem si nebyl jisty tim iteracnim zapisem....jinak pro zacatek urcite staci, dekuji moc. Jdu to hned zkusit, pac ja ty koreny mam spocitany v jinych metodach, takze pokud to vyjde priblizne na setiny stejne, tak je to dobre.
Offline
Takze funkce je dana nahore, my potrebujem iteracni tvar, tedy pokud to chapu spravne, pak v matlabu valim:
- x0=1.8
- x1=asin(7.1*(x0-1.1)^2-3.8)-1.5,chyba=abs(x0-x1) ..... to je ten iteracni tvar, vysledek by mel byt priblizny koren s urcitou chybou, ale vychazi to nejak spatne
Pocitame to pro interval (1.8,1.9)
Kdyby vysla chyba kolem 0,xx neco, tak se to dal doladuje podobnym postupem, ale nevychazi to ani priblizne
Offline
↑ plisna: tak by to melo vyjit, pocital jsem to i dalsima metodama, sakris neco tam davam spatne
>> x=1.8;
>> x1=((sin(x+1.5)+3.8)./7.1).^0.5,chyba=abs(x1-x),x=x1;
pokud by ta chyba vysla mensi nez je pozadovana, tak opakujem druhy radek, ale nevychazi to vubec, tak nevim
Offline
↑ Fieldy: ok, jen pro uplnost pridavam svuj kod.
function [] = iterace(eps) x0 = 1.8; do x1 = sqrt((sin(x0 + 1.5) + 3.8)/7.1) + 1.1; chyba = abs(x0-x1); x0 = x1; until (chyba < eps) disp(x1); disp(chyba); endfunction
Offline
Stránky: 1