MATLAB: Error in using fsolve

fsolve

Here's my function:
function F = SPI(x,b)
F = [gamcdf(b(1),x(1),x(2))-0.4;
gamcdf(b(2),x(1),x(2))-0.6];
and my command is:
b(1)=4;
b(2)=6;
F = SPI(x,b);
x0 = [2; 0.8];
options=optimset('Display','iter');
[x,fval] = fsolve(@SPI,x0,options)
I get this error:
??? Error using ==> mupadmex
Error in MuPAD command: Index exceeds matrix dimensions.
Error in ==> sym.sym>sym.subsref at 1366
B = mupadmex('mllib::subsref',A.s,inds{:});
Error in ==> SPI at 3
F = [gamcdf(b(1),x(1),x(2))-0.4;
Please help ! — it works if I replace numbers instead of b

Best Answer

try this cod:
b = [4;6];
F = @(x,b)[gamcdf(b(1),x(1),x(2))-0.4;gamcdf(b(2),x(1),x(2))-0.6];
[x,fval] = fsolve(@(x)F(x,b),[2;.8])