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?
回答 (1 件)
Sulaymon Eshkabilov
2021 年 10 月 30 日
0 投票
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 件のコメント
sai manas duddu
2021 年 10 月 30 日
編集済み: sai manas duddu
2021 年 10 月 30 日
カテゴリ
ヘルプ センター および File Exchange で Mathematics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
