no explicit solution for solve

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

So either no solution exists, or it could not find an analytical solution to what is equivalent to a high order polynomial. Lets see, total order > 4 implies something about whether analytical solutions will exist in general.
Originally I tried to solve steady state solution so thats why i put them here as the set of algebraic equations and when I simulated it for a long time i did get to the steady state. It confirms the existence of solution for this set. The only problem is how to solve this.
Thanks
There will surely be no analytical solution. Just a brief glance tells me this is equivalent to some high order polynomial, greater than 5th order. So never will a solution be found.
However, what is the problem with using a numerical solver? Try it. You will need to supply starting values of course.
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
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)

Categories

Asked:

Vu
on 30 Jul 2014

Commented:

on 31 Jul 2014

Community Treasure Hunt

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

Start Hunting!