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

John D'Errico
John D'Errico 2014년 7월 30일
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.
Vu
Vu 2014년 7월 30일
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
John D'Errico
John D'Errico 2014년 7월 30일
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.
Vu
Vu 2014년 7월 31일
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 2014년 7월 31일
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.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

질문:

Vu
2014년 7월 30일

댓글:

2014년 7월 31일

Community Treasure Hunt

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

Start Hunting!

Translated by