I need to have output of qfunc as a handle function

1 次查看(过去 30 天)
all,
I need to have output of qfunc as a handle function but I face following error:
error: """Error using qfunc
The argument of the Q function must be a real array."""
so does anybody know how can I use handle function in qfunction??????
myf = @(ebn0)BER32APSK(c,M,ebn0)-p;
and inside of BER32APSK I would have:
fsum = fsum + qfunc(sqrt(((d2)*(log2(M))*ebn0)/2));

采纳的回答

Walter Roberson
Walter Roberson 2017-12-5
One of d2 or log2(M) or ebn0 are not real-valued.
In particular check for the possibility that M is negative, as log of a negative number would give imaginary values.
  14 个评论
farah arabian
farah arabian 2017-12-6
hey Walter....thanks for your comment body...the problem solved by taking x0=[1 200] and I was wrong for the range because my answer is 137.7241 dB.
Walter Roberson
Walter Roberson 2017-12-6
I saw values over 1200 for sure, so I would recommend you use at least 1500 as the upper bound.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by