Problems evaluating Q-function. Error : The argument of the Q function must be a real array.
Mostrar comentarios más antiguos
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
Suwas Karki
el 3 de Mzo. de 2013
xiaomin QI
el 16 de Dic. de 2021
do you have some ideas about this problem?
Respuestas (0)
Categorías
Más información sobre Introduction to Installation and Licensing 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!