Problema con solve y variables syms
Publicado por javiera (4 intervenciones) el 20/10/2017 23:59:12
Hola! estoy tratando de resolver este sistema de 11 ecuaciones con 12 variables.q(i) son las variables a resolver y son syms positivas:
S=[q1 - q2.*(0.11.*x1aux) - q4.*(sumxxaux+0.17.*x2aux) - fc1aux + vpasaj1aux - lf1 - v1.*Delayxaux - q2*0.11.*x1aux - x1aux.*v1.*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q6 - q7.*(0.17.*x2aux) - q4.*(sumxxaux+0.11.*x1aux) - fc2aux + vpasaj2aux - lf2 - v2.*Delayxaux - q7*0.17.*x2aux - x2aux.*v2.*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q4/q2-dif2==0];
P= [q51 - q31.*xaux(1,1) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,1)) - fcaux(1,1) + vpasajaux(1,1) - lfaux(1,1) - vaux(1,1).*Delayxaux - q31.*xaux(1,1) - xaux(1,1).*vaux(1,1).*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q52 - q32.*xaux(1,2) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,2)) - fcaux(1,2) + vpasajaux(1,2) - lfaux(1,2) - vaux(1,2).*Delayxaux - q32.*xaux(1,2) - xaux(1,2).*vaux(1,2).*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q53 - q33.*xaux(1,3) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,3)) - fcaux(1,3) + vpasajaux(1,3) - lfaux(1,3) - vaux(1,3).*Delayxaux - q33.*xaux(1,3) - xaux(1,3).*vaux(1,3).*exp(0.3487*sumq0aux/6).*0.3487./6==0];
R= [(-(3*q4^4 - 2*q4^3*q31 - 2*q4^3*q32 - 2*q4^3*q33 - 2*q4^3*q7 + q4^2*q7*q31 + q4^2*q7*q32 + q4^2*q7*q33 + q4^2*q31*q32 + q4^2*q31*q33 + q4^2*q32*q33 - q7*q31*q32*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(0.11.*x1aux))./(q1 - q2.*(0.11.*x1aux) - q4.*(sumxxaux+0.17.*x2aux))==0;
(-(3*q4^4 - 2*q4^3*q31 - 2*q4^3*q32 - 2*q4^3*q33 - 2*q2*q4^3 + q2*q4^2*q31 + q2*q4^2*q32 + q2*q4^2*q33 + q4^2*q31*q32 + q4^2*q31*q33 + q4^2*q32*q33 - q2*q31*q32*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(0.17.*x2aux))./(q6 - q7.*(0.17.*x2aux) - q4.*(0.11.*x1aux+sumxxaux))==0];
G= [(-(3*q4^4 - 2*q4^3*q7 - 2*q4^3*q32 - 2*q4^3*q33 - 2*q2*q4^3 + q2*q4^2*q7 + q2*q4^2*q32 + q2*q4^2*q33 + q4^2*q7*q32 + q4^2*q7*q33 + q4^2*q32*q33 - q2*q7*q32*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(xaux(1,1)))./(q51 - q31.*xaux(1,1) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,1)))==0;
(-(3*q4^4 - 2*q4^3*q7 - 2*q4^3*q31 - 2*q4^3*q33 - 2*q2*q4^3 + q2*q4^2*q7 + q2*q4^2*q31 + q2*q4^2*q33 + q4^2*q7*q31 + q4^2*q7*q33 + q4^2*q31*q33 - q2*q7*q31*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(xaux(1,2)))./(q52 - q32.*xaux(1,2) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,2)))==0;
(-(3*q4^4 - 2*q4^3*q7 - 2*q4^3*q31 - 2*q4^3*q32 - 2*q2*q4^3 + q2*q4^2*q7 + q2*q4^2*q31 + q2*q4^2*q32 + q4^2*q7*q31 + q4^2*q7*q32 + q4^2*q31*q32 - q2*q7*q31*q32)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(xaux(1,3)))./(q53 - q33.*xaux(1,3) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,3)))==0];
D=[S;R;P;G];
[t11,t22,t331,t332,t333,t44,t551,t552,t553,t66,t77,param,cond]=solve(D,q1,q2,q31,q32,q33,q4,q51,q52,q53,q6,q7,'ReturnConditions',true,'Real',true);
Y tengo este error:
Error using mupadengine/feval (line 163)
The row index is out of range.
Error in solve (line 369)
varargout{i} = transpose(eng.feval('map', solutions, '_index', i));
Las demás variables que no son q(i) son parámetros con números. Al final tengo un sistema de 11 ecuaciones con 12 variables a resolver y una libre dif 2. Donde algunas de estas ecuaciones tienen grado 5 (q4^5).
Si resuelvo el sistema para S y R si tiene solución. En cambio, si agrego P y G me entrega este error. Como lo puedo solucionar? es un problema de polinomios de grado 5?
Gracias!
S=[q1 - q2.*(0.11.*x1aux) - q4.*(sumxxaux+0.17.*x2aux) - fc1aux + vpasaj1aux - lf1 - v1.*Delayxaux - q2*0.11.*x1aux - x1aux.*v1.*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q6 - q7.*(0.17.*x2aux) - q4.*(sumxxaux+0.11.*x1aux) - fc2aux + vpasaj2aux - lf2 - v2.*Delayxaux - q7*0.17.*x2aux - x2aux.*v2.*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q4/q2-dif2==0];
P= [q51 - q31.*xaux(1,1) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,1)) - fcaux(1,1) + vpasajaux(1,1) - lfaux(1,1) - vaux(1,1).*Delayxaux - q31.*xaux(1,1) - xaux(1,1).*vaux(1,1).*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q52 - q32.*xaux(1,2) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,2)) - fcaux(1,2) + vpasajaux(1,2) - lfaux(1,2) - vaux(1,2).*Delayxaux - q32.*xaux(1,2) - xaux(1,2).*vaux(1,2).*exp(0.3487*sumq0aux/6).*0.3487./6==0;
q53 - q33.*xaux(1,3) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,3)) - fcaux(1,3) + vpasajaux(1,3) - lfaux(1,3) - vaux(1,3).*Delayxaux - q33.*xaux(1,3) - xaux(1,3).*vaux(1,3).*exp(0.3487*sumq0aux/6).*0.3487./6==0];
R= [(-(3*q4^4 - 2*q4^3*q31 - 2*q4^3*q32 - 2*q4^3*q33 - 2*q4^3*q7 + q4^2*q7*q31 + q4^2*q7*q32 + q4^2*q7*q33 + q4^2*q31*q32 + q4^2*q31*q33 + q4^2*q32*q33 - q7*q31*q32*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(0.11.*x1aux))./(q1 - q2.*(0.11.*x1aux) - q4.*(sumxxaux+0.17.*x2aux))==0;
(-(3*q4^4 - 2*q4^3*q31 - 2*q4^3*q32 - 2*q4^3*q33 - 2*q2*q4^3 + q2*q4^2*q31 + q2*q4^2*q32 + q2*q4^2*q33 + q4^2*q31*q32 + q4^2*q31*q33 + q4^2*q32*q33 - q2*q31*q32*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(0.17.*x2aux))./(q6 - q7.*(0.17.*x2aux) - q4.*(0.11.*x1aux+sumxxaux))==0];
G= [(-(3*q4^4 - 2*q4^3*q7 - 2*q4^3*q32 - 2*q4^3*q33 - 2*q2*q4^3 + q2*q4^2*q7 + q2*q4^2*q32 + q2*q4^2*q33 + q4^2*q7*q32 + q4^2*q7*q33 + q4^2*q32*q33 - q2*q7*q32*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(xaux(1,1)))./(q51 - q31.*xaux(1,1) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,1)))==0;
(-(3*q4^4 - 2*q4^3*q7 - 2*q4^3*q31 - 2*q4^3*q33 - 2*q2*q4^3 + q2*q4^2*q7 + q2*q4^2*q31 + q2*q4^2*q33 + q4^2*q7*q31 + q4^2*q7*q33 + q4^2*q31*q33 - q2*q7*q31*q33)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(xaux(1,2)))./(q52 - q32.*xaux(1,2) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,2)))==0;
(-(3*q4^4 - 2*q4^3*q7 - 2*q4^3*q31 - 2*q4^3*q32 - 2*q2*q4^3 + q2*q4^2*q7 + q2*q4^2*q31 + q2*q4^2*q32 + q4^2*q7*q31 + q4^2*q7*q32 + q4^2*q31*q32 - q2*q7*q31*q32)/(3*q2*q4^4 + 3*q4^4*q7 + 3*q4^4*q31 + 3*q4^4*q32 + 3*q4^4*q33 - 4*q4^5 - 2*q2*q4^3*q7 - 2*q2*q4^3*q31 - 2*q2*q4^3*q32 - 2*q2*q4^3*q33 - 2*q4^3*q7*q31 - 2*q4^3*q7*q32 - 2*q4^3*q7*q33 - 2*q4^3*q31*q32 - 2*q4^3*q31*q33 - 2*q4^3*q32*q33 + q2*q4^2*q7*q31 + q2*q4^2*q7*q32 + q2*q4^2*q7*q33 + q2*q4^2*q31*q32 + q2*q4^2*q31*q33 + q2*q4^2*q32*q33 + q4^2*q7*q31*q32 + q4^2*q7*q31*q33 + q4^2*q7*q32*q33 + q4^2*q31*q32*q33 - q2*q7*q31*q32*q33))-(eta.*(xaux(1,3)))./(q53 - q33.*xaux(1,3) - q4.*(0.11.*x1aux+0.17.*x2aux+sumxxaux-xaux(1,3)))==0];
D=[S;R;P;G];
[t11,t22,t331,t332,t333,t44,t551,t552,t553,t66,t77,param,cond]=solve(D,q1,q2,q31,q32,q33,q4,q51,q52,q53,q6,q7,'ReturnConditions',true,'Real',true);
Y tengo este error:
Error using mupadengine/feval (line 163)
The row index is out of range.
Error in solve (line 369)
varargout{i} = transpose(eng.feval('map', solutions, '_index', i));
Las demás variables que no son q(i) son parámetros con números. Al final tengo un sistema de 11 ecuaciones con 12 variables a resolver y una libre dif 2. Donde algunas de estas ecuaciones tienen grado 5 (q4^5).
Si resuelvo el sistema para S y R si tiene solución. En cambio, si agrego P y G me entrega este error. Como lo puedo solucionar? es un problema de polinomios de grado 5?
Gracias!
Valora esta pregunta


0