no explicit solution for solve

6 views (last 30 days)
Vu
Vu on 30 Jul 2014
Commented: John D'Errico on 31 Jul 2014
I tried to solve a system of non-linear equations and it came back with the comment,"Explicit solution could not be found." Here is the part of codes with involved the equations. Anything undefined in the syms were considered as the constants:
value=50;
syms x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 positive
solve(...
x10==value,...
x11==N*x8^4/(x8^4+Kb*x9^4),...
x1*(lamQs+muD)==(kPqloop*x11+kPqunloop*(N-x11))*(Kq*x5)/(1+Kq*x5),...
x2*(lamQl+muD)==(kPqloop*x11+kPqunloop*(N-x11))/(1+Kq*x5),...
x3*(lamQar+muD+kar*x5+kar*x4)==kPqloop*x11+kPqunloop*(N-x11),...
x4*(lamX+muD+kar*x3)==kxloop*x11+kxunloop*(N-x11),...
x5*(lamXar+muD+kar*x3)==kXarloop*x11+kXarunloop*(N-x11)-(kPqloop*x11+kPqunloop*(N-x11))*(Kq*x5)/(1+Kq*x5),...
x6*lameI==ki*(x1+x2)*DDensity-kTi*(x6-x8)*DDensity,...
x8*(lamiI+muD)==kTi*(x6-x8),...
x9*(lamiC+muD)==kTc*(x7-x9),...
x10*(lamPrgB+muD)==kdown*x2,...
x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11);
and here are the constants:
N=5/0.602;
muD=log(2)/(45*60);
%muR=3.35*10^-4;
kPqloop=7.23*10^-3;
kPqunloop=8.871*10^-2;
kXarloop=1.021*10^-2;
kXarunloop=1.21*10^-3;
kxloop=8.23*10^-3;
kxunloop=1.21*10^-3;
kQarloop=1.8*10^-3;
kQarunloop=1.08*10^-2;
kconj=2*10^-4;
ki=10^-2;
p=10^-11;
kTi=10^-4;
kTc=10^-3;
%kc=1.2*10^-1;
kar=10^-3;
Kq=4.43;
Kb=10^6;
kdown=10^-3;
lamQs=10^-4;
lamQl=0.1;
lamXar=3.851*10^-4;
lamQar=10^-3;
lamX=10^-4;
lameI=10^-6;
lameC=10^-6;
lamiI=10^-6;
lamiC=10^-6;
lamPrgB=10^-3;
DDensity=5*10^7;
Thanks
  5 Comments
Vu
Vu on 31 Jul 2014
Yes and because this system has multiple sets of solution. Using numerical solver will need to deal with initial conditions. Of course I can get some solutions but I wont know it for sure if I can find all the solutions since any numerical method depends strongly upon the initial conditions. This set has a total of 8-9 varibles and its impossible to try out all possibilities for initial conditions for all of them
John D'Errico
John D'Errico on 31 Jul 2014
So? That is the problem with ANY root finding problem. Only global methods can try to find all solutions, and even they can only try. Given a nasty enough problem, any root finder can have problems finding them all.
Accept that you will never be able to find all solutions using exact methods. Wanting to do the impossible is a nice goal, but still impossible.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!