En un programa, usando la función fzero, nos sale este aviso de error "The function values at the interval endpoints must differ in sign."
if k>1
lambdastar=fzero(@(lambda) dphi2(q1,p0,L,U,lambda,ro_alpha,ro_beta,npar,Amax,r1),[1e-100 1e100]);
else
lambdastar=1e100;
end
alpha(:,k+1)=xs(q1,p0,L,U,lambdastar,ro_alpha,ro_beta,npar);
donde xs es:
function out=xs(q1,p0,L,U,lambdastar,ro_alpha,ro_beta,npar)
for n=1:npar
if q1(n)==0
xt(n)=L(n);
elseif p0(n)==0
xt(n)=U(n);
else
xt(n)=((U(n)*sqrt(lambdastar*q1(n)/p0(n)))+L(n))/(1+sqrt(lambdastar*q1(n)/p0(n)));
end
if xt(n)<ro_alpha(n)
xs(n)=ro_alpha(n);
elseif xt(n)>ro_beta
xs(n)=ro_beta(n);
else
xs(n)=xt(n);
end
end
alpha=abs(xs)
out=alpha;
y dphi2 es:
function out=dphi2(q1,p0,L,U,lambda,ro_alpha,ro_beta,npar,Amax,r1)
x=xs(q1,p0,L,U,lambda,ro_alpha,ro_beta,npar);
sum=0;
for n=1:npar
sum=sum+(q1(n)/(x(n)-L(n)));
end
% sum=q1*inv(x-L)
dphi2=abs(r1+sum-Amax);
out=dphi2;
end
end
muchas gracias por todo
