Problem in integration function containing gauss hypergeometric function

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 件のコメント

Jan
Jan 2017 年 12 月 14 日
You forgot to mention, what the problem is.
Shweta Rajoria
Shweta Rajoria 2018 年 1 月 8 日
i am not able to get the output of the integration
Walter Roberson
Walter Roberson 2018 年 1 月 8 日
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
Jan 2018 年 1 月 8 日
@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
Shweta Rajoria 2018 年 1 月 9 日
sir while executing the code, i am able to get the c, but after that it is not able to execute c1, may be it is not converging, as it is not showing any error message. but only it is showing matlab busy. My main problem is that i want to calculate out put c1, but not able to get that.
Walter Roberson
Walter Roberson 2018 年 1 月 9 日
編集済み: Walter Roberson 2018 年 1 月 9 日
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
Shweta Rajoria 2018 年 1 月 9 日
ok sir.. thank you.. but please guide me how this problem can be resolved.

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2018 年 1 月 8 日

0 投票

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.

2 件のコメント

Shweta Rajoria
Shweta Rajoria 2018 年 1 月 9 日
Then sir what is the procedure to integrate such problem.
Shweta Rajoria
Shweta Rajoria 2018 年 1 月 9 日
sir, if we are wating for long time, then NaN output comes

サインインしてコメントする。

カテゴリ

質問済み:

2017 年 12 月 14 日

コメント済み:

2018 年 1 月 9 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by