Python How can I plot the Voigt Profile function with varying values of a in Python?

  • Thread starter Thread starter sketos
  • Start date Start date
  • Tags Tags
    Python
Click For Summary
The discussion centers on writing a Python code to plot the function H(a,u), defined by a specific integral involving parameters a and u. The user seeks assistance in creating a graph that displays multiple functions H(a_1,u), H(a_2,u), and H(a_3,u) for different values of a. Initial attempts include importing necessary libraries like NumPy and SciPy, and defining the integrand for the integral calculation. However, contributors emphasize the importance of the user demonstrating their progress before receiving further help. They suggest using online resources for integral calculations and numerical integration techniques to aid in coding the solution. The conversation highlights the balance between seeking help and developing coding skills independently.
sketos
Messages
55
Reaction score
0
I very new to python and this might look relatively easy to some of you. I need to write a code so that

H(a,u) = \frac{a}{\pi} \int_{-\infty}^{\infty} \frac{e^{-y^2}}{a^2+(u-y)^2}dy

it plots the above function for different values of the a parameter, so that ultimately i will have a graph of 3 or more function of the form H(a_1,u), H(a_2,u), H(a_3,u) as functions of u. Can anyone provide a code ?
 
Technology news on Phys.org
sketos said:
I very new to python and this might look relatively easy to some of you. I need to write a code so that

H(a,u) = \frac{a}{\pi} \int_{-\infty}^{\infty} \frac{e^{-y^2}}{a^2+(u-y)^2}dy

it plots the above function for different values of the a parameter, so that ultimately i will have a graph of 3 or more function of the form H(a_1,u), H(a_2,u), H(a_3,u) as functions of u. Can anyone provide a code ?

The key is
sketos said:
I need to write a code
We're not going to do this for you. We'll be happy to help you out on it, but you need to show us what you've tried.
 
import numpy as np
import pylab as pl
from math import exp
from scipy.integrate import quad

def voigt( u , a ):

def integrand( y ):

return exp(-y**2)/( a**2 + ( u - y )**2 )

return quad( integrand ,-np.inf , np.inf )x = np.linspace(-100 , 100 )

Func = voigt( x , 0.1 )

pl.plot( x , Func )

pl.show()

This is as far as i got before i posted...
 
sketos said:
I very new to python and this might look relatively easy to some of you. I need to write a code so that

H(a,u) = \frac{a}{\pi} \int_{-\infty}^{\infty} \frac{e^{-y^2}}{a^2+(u-y)^2}dy

it plots the above function for different values of the a parameter, so that ultimately i will have a graph of 3 or more function of the form H(a_1,u), H(a_2,u), H(a_3,u) as functions of u. Can anyone provide a code ?

Teach a man to fish he eats for a lifetime. Here's some important tools to breaking it down. I suck at calculus so I use this to calculate integrals.
http://integrals.wolfram.com/index.jsp
You would enter it in the Wolfram language, where x^y means x to the power of y, remember your parenthesis. Then take the output, and code it in the python language...its the same except x**y = x to the power of y.
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 15 ·
Replies
15
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 50 ·
2
Replies
50
Views
6K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
5K
  • · Replies 4 ·
Replies
4
Views
6K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
4
Views
4K
  • · Replies 21 ·
Replies
21
Views
5K