MATLAB: Anonymous Function and Integration

anonymous functionintegrationMATLAB

I want to solve an eqution with an anonymous function and integration like this,
C=1; n=10; alpha=0.05;
Cp=C+0.33;
fY=@(y) normpdf(y+3*(Cp-C)*n^0.5,0,1)+normpdf((y-3.*(Cp-C).*n^0.5),0,1);
G=@(y,c1) chi2cdf(((n-1)*((3*Cp*n^0.5-y).^2)./(9*n*c1.^2)),n-1);
GY=@(c1) fY(y).*G(y,c1);
pv=@(c1) integral(GY,0,3*Cp*sqrt(n))-alpha;
c0=feval(pv,1.26);
But it shows "Undefined function or variable 'y'."
And I tried syms y still can't work and shows "Unable to prove '(37778931862957161709568*(y – 7103014205373209/562949953421312)^2)/18023676507955 < 0' literally. Use 'isAlways' to test the statement mathematically."
I don't know where the question is, please help me

Best Answer

GY = @(c1,y) fY(y).*G(y,c1);
pv = @(c1) integral( @(y) GY(c1,y), 0, 3*Cp*sqrt(n));
c0_guess = 1.26;
c0 = fsolve( @(c1) pv(c1) - alpha, c0_guess);