Skaitliskās metodes "Dihotomiju metode" (Praktiskais darbs Nr 2 - RA) C++



Rēzekne.
Uzdevuma matemātiskais apraksts.
Algoritma blokshēma.
Funkcija funkcija.
Kontrolpiemērs.
Iegūtais rezultāts.
Secinājumi.
Atrisināt doto vienādojumu, lietojot norādīto metodi. Paredzēt argumenta x un funkcijas f(x) izvadu katrā iterācijā. Par iterācijas beigu nosacījumu pieņemt precizitāti 10 5. Izvadīt vienādojuma sakni, sasniegto precizitāti un iterāciju skaitu, kas bija nepieciešams saknes atrašanai. Aprēķinus veikt divas reizes: doto intervālu dalot 10 un 100 daļās.
7. x3 + x + 1 = 0 0;1 Dihotomijas Saknes atdalīšanas etapu noformēt funkcijas veidā
1.Lietotājs ievada intervāla sākuma un beigu punktus, cik daļās intervālu dalīt, kā arī precizitāti.
* paņem intervāla sākumpunktu; par intervāla galapunktu pieņem vērtību (sākumpunkts+solis);
* ja galapunktos funkcijas vērtības atšķiras, vajadzīgais intervāls ir atrasts;
* ja, izejot visu lietotāja uzdoto intervālu, nav atrasts tāds intervāls, kas atbilst iepriekšējam punktam, paredzēt atbilstoša mainīgā saglabāšanu, kas „signalizēs” par piemērota intervāla neesamību.
3.Ja neeksistē intervāls, kurā atrodas sakne, paredzēt atbilstoša ziņojuma izvadi un programmas darbības izbeigšanu.
4.Ja piemērots intervāls eksistē, uzsākt ciklu saknes meklēšanai, kas izbeigsies, ja iegūtās saknes un iepriekš iegūtās saknes starpība būs mazāka par lietotāja uzdoto precizitāti:
* ja funkcijas vērtība viduspunktā un aplūkotajā galapunktā sakrīt, tad aplūkoto galapunktu pārnest uz viduspunktu, pretējā gadījumā pārnest uz viduspunktu otru galapunktu.
* paredzēt viduspunkta, iterācijas numura, precizitātes, funkcijas vērtības izvadi.
5. Paredzēt gala rezultātu (saknes, iterāciju skaita, precizitātes) izvadi noformatētā veidā.
Tā kā vienādojumam pie visiem pozitīviem x funkcijas vērtība arī ir pozitīva, intervālā, kurā visi x ir pozitīvi, funkcijai nebūs saknes. Tāpēc izvēlējos kontrolpiemēram tādu apgabalu, kurā funkcijai iespējamas saknes: [ 2; 0]. Par precizitāti pieņēmu 10 1, intervālu dalīju 4 daļās. Rēķinot ar roku, nonācu pie šāda rezultāta:
Ņemot intervālu, kurā dotajai funkcijai eksistē atrisinājums, un izdarot eksperimentu vairākas reizes, es konstatēju, ka: pie vienādas precizitātes un norādītā intervāla – dalot vairākās daļās, nepieciešams mazāk iterāciju, lai sasniegtu vajadzīgo precizitāti.
Tā kā kontrolpiemērā atrastā sakne sakrita ar programmas atrasto, varu secināt, ka programma darbojas korekti.
- Microsoft Word 11 KB
- Latviešu
- 8 lapas (908 vārdi)
- Universitāte
- Saniitis
-