Error using integral function

1 view (last 30 days)
I am trying to get the integral of a function defined at the bottom
clear
close all
clc
s = -2000:10:5000;
r = -2000:10:5000;
%S Parameters
means = 2000;
deltas = 0.3;
SDs = means*deltas;
alphas = pi/sqrt(6)/SDs;
sigmas = 1/alphas;
mus = means - (double(eulergamma)*sigmas);
%R Parameters
CSF = 1.5;
meanr = CSF*means;
deltar = 0.2;
SDr = meanr*deltar;
alphar = pi/sqrt(6)/SDr;
sigmar = 1/alphar;
mur = meanr - (double(eulergamma)*sigmar);
syms u k
[sol_u, sol_k] = vpasolve([u*gamma(1+(1/k)) == CSF*means, u*sqrt(gamma(1+(2/k))-(gamma(1+(1/k)))^2) == meanr*deltar], [u, k]);
u = sol_u; k = sol_k;
%PDF Def
spdf = evpdf(s,mus,sigmas);
rpdf = wblpdf(r,u,k);
%CDF Def
%scdf = evcdf(s,mus,sigmas);
%rcdf = evcdf(r,u,k);
plot(s,spdf)
hold on
plot(r,rpdf)
syms x
Frfs = @(x) ( 1 - exp(-(x/u).^k)).*(alphas.*exp((-alphas.*(x-mus))-exp((-alphas.*(x-mus)))));
pF = integral(Frfs,0,Inf)
But I am getting an error like this
Error using integralCalc/finalInputChecks (line 522)
Input function must return 'double' or 'single' values. Found 'sym'.
Error in integralCalc/iterateScalarValued (line 315)
finalInputChecks(x,fx);
Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 83)
[q,errbnd] = vadapt(@AToInfInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
Error in Problem3 (line 41)
pF = integral(Frfs,0,Inf)

Accepted Answer

Walter Roberson
Walter Roberson on 25 May 2019
u = double(sol_u); k = double(sol_k);

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!