Problems evaluating Q-function. Error : The argument of the Q function must be a real array.

I have a problem when I evaluate the results of qfunc(x). The reason behind this is that my input x to the qfunc, is actually a string, that contains a L symbol whose value is not known at the moment, so it does not evaluate it.
Programs runs well upto assignment of I and temp. when it enters in j for loop and start calculating P_d(j), it will create an error as
*??? Error using ==> qfunc at 19
The argument of the Q function must be a real array.
Error in ==> abc at 28
P_d(j)=simplify(qfunc(((E_l(j)/(p.^2))-s(j)-1)*(sqrt(M/(2*s(j)+1)))))
*
*Here is the code *
N=16
s=[.38 1.37 .32 .24 .35 .27 .39 .38 .74 .37 .51 .26 .31 .25 .23 .81]
r=[857 206 853 900 611 808 561 325 212 391 219 830 308 650 924 138]
p=1
c=[8.94 1.68 3.81 6.91 9.01 2.07 3.43 3.44 1.79 3.38 1.63 1.66 1.02 3.3 1.98 8.91]
a=.1
b=.2
M=150
g=1
syms L
for k=1:N
temp(k)=(p.^2)*(0.5+sqrt(((2*s(k)+1)/s(k))*((-1/M)*log10((L)*c(k)/(r(k)*sqrt(2*s(k)+1)))+s(k)/4)))
E_l(k)=simplify (temp(k))
end
I=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
temp=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
for j=1:N
P_d(j)=simplify(qfunc(((E_l(j)/(p.^2))-s(j)-1)*(sqrt(M/(2*s(j)+1)))))
P_m(j)=1-P_d(j)
temp(j)=c(j)*P_m(j)
I(j)=I(j)+temp(j)
end

2 comentarios

Nobody has answer for this problem ???
do you have some ideas about this problem?

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Introduction to Installation and Licensing en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 1 de Mzo. de 2013

Comentada:

el 16 de Dic. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by