How do I generate a plot in a vector having symbols?

Here is a part of my code where I'm facing problem.
Note: P_Trans, gammaD, gammaE are 1x5 double and N, miuD, miuE, miuP, lambdaD, lambdaE, lambdaP, alphaD, alphaE, alphaP, gamma_D, gamma_E are all 1x1 double.
syms n z
x(n) = (1/alphaE)*(alphaD*(miuD*N+n)/2+alphaP*miuP/2);
phi1=matlabFunction(x);
y(n) = phi1(n) + N*miuE/2;
phi2=matlabFunction(y);
MeijerG=exp(-z);
Psc(z) = (2.^(2-alphaE-alphaP*(alphaE+1))).*epsilonE.*epsilonP./((pi.^(alphaE+alphaP*(alphaE+1)-2).*gamma(N.*miuD))).*symsum(((((-1)^n)/factorial(n))*((lambdaD.^(N.*miuD+n))./(N.*miuD+n)).*((z.^(alphaE.*phi1(n))).*((z-1).^(alphaP.*miuP/2))./(gamma(-alphaD.*(N.*miuD+n)/2).*alphaE.^(alphaD.*(N.*miuD+n)/2+1/2)).*(((lambdaE.^2)/4).^(-phi2(n)).*((alphaP).^(2*phi2(n)-alphaD.*(N.*miuD+n)/2-3/2))).*MeijerG)), n, 0, Inf);
Psec=matlabFunction(Psc);
x = -10:110/(N-1):100;
fplot(P_Trans, Psec(x),'-ro')
Note: P_Trans and Psec(x) are of same length.
After executing handle 'Psec' matlab is giving indefinite answers if I try to disp() it. I tried to generate a plot() it doesn't give Psec(x) on a plot because it has symbols. Here, converting Psec to double also generates an error. And I found out fplot helps in showing sym variables on a graph, but it is running forever. Need help. Please. I'm new to matlab and I know very little, just working on it for an assignment.
Did I use matlabFunction correctly?
Is it a problem caused by symsum? Is there any other easy way to do this?

Answers (1)

There are several unknown (not predefined) variables without which it is impossible to get any values and plots, as well. Check these variables:
alphaE, alphaD, miuD, N, etc.

1 Comment

I'm getting some values, that's not the problem. May be this image will help in some way.

Sign in to comment.

Products

Release

R2021a

Asked:

on 30 Oct 2021

Edited:

on 30 Oct 2021

Community Treasure Hunt

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

Start Hunting!