Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Python | Scipy integrate.romberg() method

  • Last Updated : 23 Jan, 2020

With the help of scipy.integrate.romberg() method, we can get the romberg integration of a callable function from limit a to b by using scipy.integrate.romberg() method.

Syntax : scipy.integrate.romberg(func, a, b)
Return : Return the romberg integrated value of a callable function.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Example #1 :
In this example we can see that by using scipy.integrate.romberg() method, we are able to get the romberg integration of a callable function from limit a to b by using scipy.integrate.romberg() method.






# import numpy and scipy.integrate
import numpy as np
from scipy import integrate
gfg = lambda x: np.exp(-x**2)
  
# using scipy.integrate.romberg()
geek = integrate.romberg(gfg, 0, 3, show = True)
  
print(geek)

Output :

Romberg integration of <function vectorize1..vfunc at 0x00000209C3641EA0> from [0, 3]

 Steps  StepSize   Results
     1  3.000000  1.500185
     2  1.500000  0.908191  0.710860
     4  0.750000  0.886180  0.878843  0.890042
     8  0.375000  0.886199  0.886206  0.886696  0.886643
    16  0.187500  0.886205  0.886207  0.886207  0.886200  0.886198
    32  0.093750  0.886207  0.886207  0.886207  0.886207  0.886207  0.886207
    64  0.046875  0.886207  0.886207  0.886207  0.886207  0.886207  0.886207  0.886207
   128  0.023438  0.886207  0.886207  0.886207  0.886207  0.886207  0.886207  0.886207  0.886207

The final result is 0.8862073482595311 after 129 function evaluations.

Example #2 :




# import numpy and scipy.integrate
import numpy as np
from scipy import integrate
gfg = lambda x: np.exp(-x**2) + 1 / np.sqrt(np.pi)
  
# using scipy.integrate.romberg()
geek = integrate.romberg(gfg, 1, 2, show = True)
  
print(geek)

Output :

Romberg integration of <function vectorize1..vfunc at 0x00000209E1605400> from [1, 2]

 Steps  StepSize   Results
     1  1.000000  0.757287
     2  0.500000  0.713438  0.698822
     4  0.250000  0.702909  0.699400  0.699438
     8  0.125000  0.700310  0.699444  0.699447  0.699447
    16  0.062500  0.699663  0.699447  0.699447  0.699447  0.699447
    32  0.031250  0.699501  0.699447  0.699447  0.699447  0.699447  0.699447

The final result is 0.6994468414978009 after 33 function evaluations.



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!