Хелпикс

Главная

Контакты

Случайная статья





Выполнила: студентка 1 курса группа 10-ИУК-30  



 

 

 

МГУПП

 

                         Лабораторная работа №5

                        Интегрирование функции

                                      

                                                                       

                                Выполнила: студентка 1 курса группа 10-ИУК-30                                                             

                                                                                                      Сорокина Екатерина

                                    Проверил преподаватель:  Максименко

                                                                                   Людмила Сергеевна

Москва 2011 г.

Математическая постановка задачи.

 

 

Точность вычисления Е=0.001

Ожидаемое значение = -6.283

 

Вычислить интеграл тремя способами:

 

- методом прямоугольников;

- методом трапеции;

- методом Симпсона (парабол),

 

используя автоматический выбор шага интегрирования.

 

 

               

 

 

Блок-схема программы.

 

     
 

 


FUNCTION
                                                                   

                                                                                         

         
a = 0 b = 2П
 
n = 2*n
   


F = ( x * sin(x) )
                                                                  

         
   

 


                                                                     

     
 

 

 


                                                                  

         
 
 

 


                                                              

 
h = (b-a)/n

 


                                                                             

     

 

 


trap (a, b, 2*n, tr1)
                                                                                       

 

prm = prm + F(x)
                                                                                               

n = 2*n
                                                                                        

 


n = 2*n
                                                                                             

                                                                                             

                                                                                           

prm = prm *h
                                                                                           

 

     

 

 

 


                                                                                      

     
 

 


S1=0 S2=0  
                     

     
 

 


                    

     
 

 


x = a+h  
                        

 


                                                                                                        

                      

         
 

 


tr = tr + 2*F(x)
                                                                                                             

 


S2 = S2 + F(x+h)
                       

 
x = x + h  


                     

         

 

 


sim = h/3*(F(a)+4*S1+2*S2+F(b))
                         

                                                                                                  

     
 


                                                                                                

 

 

                                                  

 

                                          

 

 

Программа на языке QBASIC.

 

DECLARE SUB simp (a, b, n, sim)

DECLARE SUB trap (a, b, n, tr)

DECLARE SUB pr (a, b, n, prm )

DECLARE FUNCTION F (x)

CLS

INPUT “a=”, a

INPUT “b=”, b

INPUT “e=”, e

INPUT “n=”, n

DO

CALL pr(a, b, n, prm)

CALL pr(a, b, 2*n, prm1)

n = 2*n

LOOP UNTIL ABS (prm1- prm) < e

PRINT “shag integrirovaniya h=”, (b-a)/n

PRINT “znachenie integrala po metodu pryamougolnikov=”, prm

PRINT “kolichestvo shagov=”, n

PRINT

DO

CALL trap(a, b, n, tr)

CALL trap(a, b, 2*n, tr1)

n = 2*n

LOOP UNTIL ABS (tr1- tr) < e

PRINT “shag integrirovaniya h=”, (b-a)/n

PRINT “znachenie integrala po metodu trapecii=”, tr

PRINT “kolichestvo shagov=”, n

PRINT

DO

CALL simp(a, b, n, sim)

CALL simp (a, b, 2*n, sim1)

n = 2*n

LOOP UNTIL ABS (sim1- sim) < e

PRINT “shag integrirovaniya h=”, (b-a)/n

PRINT “znachenie integrala po metodu Simpsona=”, sim

PRINT “kolichestvo shagov=”, n

PRINT

END

 

FUNCTION F(x)

F = x*sin(x)

END FUNCTION

 

 

SUB pr(a, b, n, prm)

prm = 0

h = (b-a)/n

FOR x=a TO b STEP h

prm = prm + F(x)

NEXT x

prm = prm *h

END SUB

 

SUB trap(a, b, n, tr)

tr = 0

h = (b-a)/n

FOR x=a +h TO b-h STEP h

tr = tr +2* F(x)

NEXT x

tr = tr *h/2

END SUB

 

SUB simp(a, b, n, sim)

S1 = 0 : S2 = 0

h = (b-a)/n

FOR x=a+h TO b-2*h STEP 2*h

S1 = S1 + F(x)

S2 = S2 +F(x+h)

NEXT x

sim = h/3*(F(a)+4*S1+2*S2+F(b))

END SUB

 

 

                                  

 

Результаты программы.

 

 

a = 0

b = 6.28 (2П)

e = 0.001

n = 10

 

shag integrirovaniya h = 0.314

znachenie integrala po metodu pryamougolnikov = 0

kolichestvo shagov = 20

 

shag integrirovaniya h = 4.90625E-03

znachenie integrala po metodu trapecii = -6.283121

kolichestvo shagov = 1280

 

shag integrirovaniya h = 2.453125E-03

znachenie integrala po metodu Simpsona = -2.094406

kolichestvo shagov = 2560

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.