MATLAB: I want to integrate froma function

functionintegral

function prob7f=xequil(x,cao,ep,k2,kc,Fao)
ca=cao*(1-x)./(1+ep*x);
cb=cao*(1-x)./(1+ep*x);
cc=2*cao*x./(1+ep*x);
ra=-(k2*(ca-(cb*cc)./kc));
prob7f=Fao./(-ra);
end
z=@xequil;
volpfreq=integral(z,0,xf);
>> Jallohw5p7
Not enough input arguments.
Error in xequil (line 3)
ca=cao*(1-x)./(1+ep*x);
Error in integralCalc/iterateScalarValued (line 314)
fx = FUN(t);
Error in integralCalc/vadapt (line 132)
[q,errbnd] =
iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
Error in Jallohw5p7 (line 32)
volpfreq=integral(z,0,xf);
All other varables are defined, except x of course, which is the variables I want to solve for.

Best Answer

The integral function should be called like this
z=@(x) xequil(x, cao, ep, k2, kc, Fao);
volpfreq=integral(z,0,xf);
Also change the following line in the function xequil
ra=-(k2*(ca-(cb*cc)./kc));
with
ra=-(k2.*(ca-(cb.*cc)./kc));