I want to know why MATLAB says "Equation solved at initial point"
2 views (last 30 days)
Show older comments
Hi everybody,
I have a code that gives the following answer from MATLAB:
"Equation solved at initial point.
fsolve completed because the vector of function values at the initial
point is near zero as measured by the selected value of the function tolerance,
and the problem appears regular as measured by the gradient. "
What is wrong ?
Thanks a lot to everybody!!
Here the code:
function main
x0 = rand(5,1);
options = optimoptions(@fsolve, 'Algorithm', 'levenberg-marquardt', 'MaxFunctionEvaluations', 1000000, 'MaxIterations', 1000000,'OptimalityTolerance', 1e-10, 'FunctionTolerance', 1e-08);
x = fsolve(@fun,x0,options)
res = fun(x)
k1 = x(1)^2;
k2 = x(2)^2;
k3 = x(3)^2;
k4 = x(4)^2;
k7 = x(5)^2;
%K1 = k3/(k4+k7)
end
function res = fun(x)
k1 = x(1)^2; %because I need positive k's
k2 = x(2)^2;
k3 = x(3)^2;
k4 = x(4)^2;
k7 = x(5)^2;
ET=0.5
i1=0.009621821;
i2=0.030538822;
i3=0.054802544;
i4=0.068189424;
i5=0.084504685;
i6=0.091198126;
i7=0.094544846;
i8=0.110441767;
i9=0.112951807;
i10=0.125502008;
x1=0;
x2=30;
x3=50;
x4=75;
x5=100;
x6=130;
x7=160;
x8=200;
x9=280;
x10=380;
%h correspond à E au niveau de la branche "Dimerization" (eq. 82)
h1 = (-(k2+k1*x1-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x1-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x1+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x1));
h2 = (-(k2+k1*x2-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x2-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x2+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x2));
h3 = (-(k2+k1*x3-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x3-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x3+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x3));
h4 = (-(k2+k1*x4-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x4-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x4+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x4));
h5 = (-(k2+k1*x5-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x5-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x5+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x5));
h6 = (-(k2+k1*x6-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x6-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x6+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x6));
h7 = (-(k2+k1*x7-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x7-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x7+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x7));
h8 = (-(k2+k1*x8-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x8-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x8+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x8));
h9 = (-(k2+k1*x9-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x9-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x9+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x9));
h10 = (-(k2+k1*x10-k7*k3/(k4+k7)*ET)+sqrt((k2+k1*x10-k7*k3/(k4+k7)*ET)^2+4*k2*ET*(2*k1*k3/(k4+k7)*x10+k7*k3/(k4+k7))))/(2*k3/(k4+k7)*(k7+2*k1*x10));
%i est la vitesse de catalyse au niveau de la branche "Dimerization" (eq. 86)
i1=k7*k3/(k4+k7)*h1*(ET-h1)/(1+2*k3/(k4+k7)*h1);
i2=k7*k3/(k4+k7)*h2*(ET-h2)/(1+2*k3/(k4+k7)*h2);
i3=k7*k3/(k4+k7)*h3*(ET-h3)/(1+2*k3/(k4+k7)*h3);
i4=k7*k3/(k4+k7)*h4*(ET-h4)/(1+2*k3/(k4+k7)*h4);
i5=k7*k3/(k4+k7)*h5*(ET-h5)/(1+2*k3/(k4+k7)*h5);
i6=k7*k3/(k4+k7)*h6*(ET-h6)/(1+2*k3/(k4+k7)*h6);
i7=k7*k3/(k4+k7)*h7*(ET-h7)/(1+2*k3/(k4+k7)*h7);
i8=k7*k3/(k4+k7)*h8*(ET-h8)/(1+2*k3/(k4+k7)*h8);
i9=k7*k3/(k4+k7)*h9*(ET-h9)/(1+2*k3/(k4+k7)*h9);
i10=k7*k3/(k4+k7)*h10*(ET-h10)/(1+2*k3/(k4+k7)*h10);
res(1) = -i1+k7*k3/(k4+k7)*h1*(ET-h1)/(1+2*k3/(k4+k7)*h1);
res(2) = -i2+k7*k3/(k4+k7)*h2*(ET-h2)/(1+2*k3/(k4+k7)*h2);
res(3) = -i3+k7*k3/(k4+k7)*h3*(ET-h3)/(1+2*k3/(k4+k7)*h3);
res(4) = -i4+k7*k3/(k4+k7)*h4*(ET-h4)/(1+2*k3/(k4+k7)*h4);
res(5) = -i5+k7*k3/(k4+k7)*h5*(ET-h5)/(1+2*k3/(k4+k7)*h5);
res(6) = -i6+k7*k3/(k4+k7)*h6*(ET-h6)/(1+2*k3/(k4+k7)*h6);
res(7) = -i7+k7*k3/(k4+k7)*h7*(ET-h7)/(1+2*k3/(k4+k7)*h7);
res(8) = -i8+k7*k3/(k4+k7)*h8*(ET-h8)/(1+2*k3/(k4+k7)*h8);
res(9) = -i9+k7*k3/(k4+k7)*h9*(ET-h9)/(1+2*k3/(k4+k7)*h9);
res(10) = -i10+k7*k3/(k4+k7)*h10*(ET-h10)/(1+2*k3/(k4+k7)*h10);
end
0 Comments
Answers (0)
See Also
Categories
Find more on Dimensionality Reduction and Feature Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!