C2115 Praktický úvod do superpočítání 12. lekce / Modul 3 -1- C2115 Praktický úvod do superpočítání Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno 12. lekce / Modul 3 Revize 2 C2115 Praktický úvod do superpočítání 12. lekce / Modul 3 -2- Numerická integrace C2115 Praktický úvod do superpočítání 12. lekce / Modul 3 -3Cvičení LIII.3 1. Napište program, který vypočte určitý integrál uvedený níže. K integraci použijte lichoběžníkovou metodu. dx x I  + = 1 0 2 1 4 určitý integrál je plocha pod křivkou v rozsahu integračních mezí C2115 Praktický úvod do superpočítání 12. lekce / Modul 3 -4Lichoběžníková vs obdélníková metoda lichoběžníková metoda obdélníková metoda yi yi yi+1 h h h yy I ii i 2 )( 1++ = hyI ii = numericky přesnější metoda numericky méně přesná metoda snadnější implementace a paralelizace C2115 Praktický úvod do superpočítání 12. lekce / Modul 3 -5Sekvenční implementace program integral implicit none integer(8) :: i integer(8) :: n double precision :: rl,rr,h,v,y,x !--------------------------------------------------- rl= 0.0d0 rr= 1.0d0 n = 2000000000 h = (rr-rl)/n v = 0.0d0 do i=1,n x = (i-0.5d0)*h + rl y = 4.0d0 / (1.0d0 + x**2) v = v + y*h end do write(*,*) 'integral = ',v end program integral obdélníková metoda dx x I  + = 1 0 2 1 4 C2115 Praktický úvod do superpočítání 12. lekce / Modul 3 -6Cvičení M3.1 1. Zkompilujte program integral.f90 s optimalizací -O3 2. Určete dobu běhu aplikace potřebnou pro integraci funkce. K měření doby použijte program /usr/bin/time. 3. Čemu se rovná hodnota integrálu? 4. Jaký vliv má hodnota proměnné „n” (tj. velikost h) na přesnost výpočtu? K posouzení použijte programy integral-errors_sp.f90 a integral-errors_dp.f90. Získané výsledky stručně diskutujte. Zdrojové kódy: /home/kulhanek/Documents/C2115/code/integral/single