Problem in integration function containing gauss hypergeometric function
Mostrar comentarios más antiguos
I am deriving the coverage probability of heterogeneous network with massive MIMO macro base station. During the process, I am stuck in the in hypergeometric function. The small part of that program is given below.
fun= @(x,y)imag(exp(pi.*1i.*(x).*y.^(-2).*hypergeom(1,[1/2,3/2],-1i.*x./(y.^4))))./x
c= @(y) integral(@(x) fun(x,y), 0.1,1,'ArrayValued',true)
fun1= @(y)((1/2)-((1/pi).*c(y))).*exp(-pi.*y.^2)
c1 = integral(fun1, 0.1,1)
I think iproblem is due to terms(y.^(-2) and and y.^4) in the fun. If any body have any idea please suggest. Any suggestions regarding this will be appreciated.
7 comentarios
Jan
el 14 de Dic. de 2017
You forgot to mention, what the problem is.
Shweta Rajoria
el 8 de En. de 2018
Walter Roberson
el 8 de En. de 2018
Do you mean that it is crashing, or that it is reporting that it did not converge, or that it is taking a long time to compute?
Jan
el 8 de En. de 2018
@Shweta Rajoria: You still did not explain, what the problem is, but you mention only, that there is one. What do you observe and what do you want to change?
Shweta Rajoria
el 9 de En. de 2018
Walter Roberson
el 9 de En. de 2018
Editada: Walter Roberson
el 9 de En. de 2018
To within the boundaries of double precision, c1 will be nan. The values involved are way way too big to work with in double precision.
Shweta Rajoria
el 9 de En. de 2018
Respuestas (1)
Walter Roberson
el 8 de En. de 2018
0 votos
fun(8/10, 3/10) is about 2.974*10^1912918 .
fun(8/10, 2/10) is about 4.087*10^-24618734963806
fun(8/10, 0.18) is about 2.345*10^207906652598325658
So, fun is very steep, and has a lot of values that overflow floating point representation. You will not be able to integrate that using any normal representation.
Categorías
Más información sobre Numerical Integration and Differentiation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!