Как решить уравнение для переменной в MATLAB - PullRequest
0 голосов
/ 11 июля 2019

Я хочу решить это уравнение в MATLAB. Я знаю с помощью числового решателя, что некоторые корни являются воображаемыми, а другие - реальными. Используя решение, MATLAB выдает список условий, при которых решение является действительным.

Я просто хочу, чтобы MATLAB решил это с помощью аналитического решения (не численно, я могу сделать это в Mathematica). Есть ли лучшее решение или какой-либо другой пакет, который я могу использовать?

syms f2 ep1 ep2 a1 a2 fp1 fp2 h e1 m1 mp R f r t1 f1

eqn = (((ep2*fp1 - ep1*fp2)*mp*(e1*m1*(ep2*f2*fp1*(fp2 - a2*mp) +...
ep1*fp2*(-(f1*fp2) + a2*f2*mp))*(h + R) + a2*f2*(-(ep2*f*f2*fp1*R)+...
ep1*f*f1*fp2*R - ...
ep1*ep2*(f1 - f2)*mp*r*(h + R)))* (a1*ep1*ep2*f1*(f1 - f2)...
*mp*(ep2*f*f2*fp1*R - ep1*f*f1*fp2*R + ep1*ep2*(f1 - f2)*mp*r*(h + R)) +... 
e1*(ep2^2*f*f2^2*fp1^2*R*t1 + ...
ep1^2*f1*fp2*(f*f1*fp2*R*t1 - ep2*(f1 - f2)*mp*(h + R)*(-(fp1*m1) + ... 
a1*m1*mp + r*t1)) + ...
ep1*ep2*fp1*(-2*f*f1*f2*fp2*R*t1 + ep2*(f1 - f2)*mp*(h + R)*(-(f2*fp1*m1)+... 
a1*f1*m1*mp + f2*r*t1)))))/...
(e1*ep1*ep2*(ep2*f2*fp1 - ep1*f1*fp2)^2*(h + R)^2*(ep1*ep2*(f1 - f2)*...
(-(a2*f2*fp1) + a1*f1*fp2)*mp + e1*(ep2*f2*fp1*(fp2 - a2*mp) + ...
ep1*fp2*(-(f1*fp2) + a2*f2*mp))*t1))) * (-1) == 0;

solve(eqn,fp1)


The solutions I get are:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  (a2*f2*(R*ep1*f*f1*fp2 - ep1*ep2*mp*r*(R + h)*(f1 - f2)) - e1*ep1*fp2*m1*(R + h)*(f1*fp2 - a2*f2*mp))/(R*a2*ep2*f*f2^2 - e1*ep2*m1*(R + h)*(fp2 - a2*mp)*f2)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   (ep1*fp2)/ep2
 (ep1*f1*mp*(R^2*a1^2*e1^2*ep2^2*f1^2*m1^2*mp^2 + 2*R^2*a1^2*e1*ep2^2*f*f1^2*f2*m1*mp + R^2*a1^2*ep2^2*f^2*f1^2*f2^2 + 2*R^2*a1*e1^2*ep1*ep2*f1^2*fp2*m1^2*mp - 4*R^2*a1*e1^2*ep1*ep2*f1*f2*fp2*m1^2*mp + 2*R^2*a1*e1^2*ep2^2*f1*f2*m1*mp*r*t1 - 4*R^2*a1*e1^2*ep2*f*f1*f2*fp2*m1*t1 + 4*R^2*a1*e1*ep1*ep2^2*f1^2*f2*m1*mp*r - 4*R^2*a1*e1*ep1*ep2^2*f1*f2^2*m1*mp*r - 2*R^2*a1*e1*ep1*ep2*f*f1^2*f2*fp2*m1 - 2*R^2*a1*e1*ep2^2*f*f1*f2^2*r*t1 + R^2*e1^2*ep1^2*f1^2*fp2^2*m1^2 - 2*R^2*e1^2*ep1*ep2*f1*f2*fp2*m1*r*t1 + R^2*e1^2*ep2^2*f2^2*r^2*t1^2 + 2*R*a1^2*e1^2*ep2^2*f1^2*h*m1^2*mp^2 + 2*R*a1^2*e1*ep2^2*f*f1^2*f2*h*m1*mp + 4*R*a1*e1^2*ep1*ep2*f1^2*fp2*h*m1^2*mp - 8*R*a1*e1^2*ep1*ep2*f1*f2*fp2*h*m1^2*mp + 4*R*a1*e1^2*ep2^2*f1*f2*h*m1*mp*r*t1 - 4*R*a1*e1^2*ep2*f*f1*f2*fp2*h*m1*t1 + 8*R*a1*e1*ep1*ep2^2*f1^2*f2*h*m1*mp*r - 8*R*a1*e1*ep1*ep2^2*f1*f2^2*h*m1*mp*r - 2*R*a1*e1*ep1*ep2*f*f1^2*f2*fp2*h*m1 - 2*R*a1*e1*ep2^2*f*f1*f2^2*h*r*t1 + 2*R*e1^2*ep1^2*f1^2*fp2^2*h*m1^2 - 4*R*e1^2*ep1*ep2*f1*f2*fp2*h*m1*r*t1 +\\\r\n 2*R*e1^2*ep2^2*f2^2*h*r^2*t1^2 + a1^2*e1^2*ep2^2*f1^2*h^2*m1^2*mp^2 + 2*a1*e1^2*ep1*ep2*f1^2*fp2*h^2*m1^2*mp - 4*a1*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1^2*mp + 2*a1*e1^2*ep2^2*f1*f2*h^2*m1*mp*r*t1 + 4*a1*e1*ep1*ep2^2*f1^2*f2*h^2*m1*mp*r - 4*a1*e1*ep1*ep2^2*f1*f2^2*h^2*m1*mp*r + e1^2*ep1^2*f1^2*fp2^2*h^2*m1^2 - 2*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1*r*t1 + e1^2*ep2^2*f2^2*h^2*r^2*t1^2)^(1/2) - ep1*f2*mp*(R^2*a1^2*e1^2*ep2^2*f1^2*m1^2*mp^2 + 2*R^2*a1^2*e1*ep2^2*f*f1^2*f2*m1*mp + R^2*a1^2*ep2^2*f^2*f1^2*f2^2 + 2*R^2*a1*e1^2*ep1*ep2*f1^2*fp2*m1^2*mp - 4*R^2*a1*e1^2*ep1*ep2*f1*f2*fp2*m1^2*mp + 2*R^2*a1*e1^2*ep2^2*f1*f2*m1*mp*r*t1 - 4*R^2*a1*e1^2*ep2*f*f1*f2*fp2*m1*t1 + 4*R^2*a1*e1*ep1*ep2^2*f1^2*f2*m1*mp*r - 4*R^2*a1*e1*ep1*ep2^2*f1*f2^2*m1*mp*r - 2*R^2*a1*e1*ep1*ep2*f*f1^2*f2*fp2*m1 - 2*R^2*a1*e1*ep2^2*f*f1*f2^2*r*t1 + R^2*e1^2*ep1^2*f1^2*fp2^2*m1^2 - 2*R^2*e1^2*ep1*ep2*f1*f2*fp2*m1*r*t1 + R^2*e1^2*ep2^2*f2^2*r^2*t1^2 + 2*R*a1^2*e1^2*ep2^2*f1^2*h*m1^2*mp^2 + 2*R*a1^2*e1*ep2^2*f*f1^2*f2*h*m1*mp + 4*R*a\\\r\n1*e1^2*ep1*ep2*f1^2*fp2*h*m1^2*mp - 8*R*a1*e1^2*ep1*ep2*f1*f2*fp2*h*m1^2*mp + 4*R*a1*e1^2*ep2^2*f1*f2*h*m1*mp*r*t1 - 4*R*a1*e1^2*ep2*f*f1*f2*fp2*h*m1*t1 + 8*R*a1*e1*ep1*ep2^2*f1^2*f2*h*m1*mp*r - 8*R*a1*e1*ep1*ep2^2*f1*f2^2*h*m1*mp*r - 2*R*a1*e1*ep1*ep2*f*f1^2*f2*fp2*h*m1 - 2*R*a1*e1*ep2^2*f*f1*f2^2*h*r*t1 + 2*R*e1^2*ep1^2*f1^2*fp2^2*h*m1^2 - 4*R*e1^2*ep1*ep2*f1*f2*fp2*h*m1*r*t1 + 2*R*e1^2*ep2^2*f2^2*h*r^2*t1^2 + a1^2*e1^2*ep2^2*f1^2*h^2*m1^2*mp^2 + 2*a1*e1^2*ep1*ep2*f1^2*fp2*h^2*m1^2*mp - 4*a1*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1^2*mp + 2*a1*e1^2*ep2^2*f1*f2*h^2*m1*mp*r*t1 + 4*a1*e1*ep1*ep2^2*f1^2*f2*h^2*m1*mp*r - 4*a1*e1*ep1*ep2^2*f1*f2^2*h^2*m1*mp*r + e1^2*ep1^2*f1^2*fp2^2*h^2*m1^2 - 2*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1*r*t1 + e1^2*ep2^2*f2^2*h^2*r^2*t1^2)^(1/2) - R*e1*ep1^2*f1^2*fp2*m1*mp - e1*ep1^2*f1^2*fp2*h*m1*mp + e1*ep1*ep2*f2^2*h*mp*r*t1 - R*a1*e1*ep1*ep2*f1^2*m1*mp^2 - a1*e1*ep1*ep2*f1^2*h*m1*mp^2 + 2*R*e1*ep1*f*f1*f2*fp2*t1 + R*a1*ep1*ep2*f*f1*f2^2*mp - R*a1*ep1*ep2*f*f1^2*f2*mp + R*e1\\\r\n*ep1^2*f1*f2*fp2*m1*mp + R*e1*ep1*ep2*f2^2*mp*r*t1 + e1*ep1^2*f1*f2*fp2*h*m1*mp - R*e1*ep1*ep2*f1*f2*mp*r*t1 - e1*ep1*ep2*f1*f2*h*mp*r*t1 + R*a1*e1*ep1*ep2*f1*f2*m1*mp^2 + a1*e1*ep1*ep2*f1*f2*h*m1*mp^2)/(2*e1*ep2*f2*(R*f*f2*t1 - R*ep1*f1*m1*mp + R*ep1*f2*m1*mp - ep1*f1*h*m1*mp + ep1*f2*h*m1*mp))
 (ep1*f2*mp*(R^2*a1^2*e1^2*ep2^2*f1^2*m1^2*mp^2 + 2*R^2*a1^2*e1*ep2^2*f*f1^2*f2*m1*mp + R^2*a1^2*ep2^2*f^2*f1^2*f2^2 + 2*R^2*a1*e1^2*ep1*ep2*f1^2*fp2*m1^2*mp - 4*R^2*a1*e1^2*ep1*ep2*f1*f2*fp2*m1^2*mp + 2*R^2*a1*e1^2*ep2^2*f1*f2*m1*mp*r*t1 - 4*R^2*a1*e1^2*ep2*f*f1*f2*fp2*m1*t1 + 4*R^2*a1*e1*ep1*ep2^2*f1^2*f2*m1*mp*r - 4*R^2*a1*e1*ep1*ep2^2*f1*f2^2*m1*mp*r - 2*R^2*a1*e1*ep1*ep2*f*f1^2*f2*fp2*m1 - 2*R^2*a1*e1*ep2^2*f*f1*f2^2*r*t1 + R^2*e1^2*ep1^2*f1^2*fp2^2*m1^2 - 2*R^2*e1^2*ep1*ep2*f1*f2*fp2*m1*r*t1 + R^2*e1^2*ep2^2*f2^2*r^2*t1^2 + 2*R*a1^2*e1^2*ep2^2*f1^2*h*m1^2*mp^2 + 2*R*a1^2*e1*ep2^2*f*f1^2*f2*h*m1*mp + 4*R*a1*e1^2*ep1*ep2*f1^2*fp2*h*m1^2*mp - 8*R*a1*e1^2*ep1*ep2*f1*f2*fp2*h*m1^2*mp + 4*R*a1*e1^2*ep2^2*f1*f2*h*m1*mp*r*t1 - 4*R*a1*e1^2*ep2*f*f1*f2*fp2*h*m1*t1 + 8*R*a1*e1*ep1*ep2^2*f1^2*f2*h*m1*mp*r - 8*R*a1*e1*ep1*ep2^2*f1*f2^2*h*m1*mp*r - 2*R*a1*e1*ep1*ep2*f*f1^2*f2*fp2*h*m1 - 2*R*a1*e1*ep2^2*f*f1*f2^2*h*r*t1 + 2*R*e1^2*ep1^2*f1^2*fp2^2*h*m1^2 - 4*R*e1^2*ep1*ep2*f1*f2*fp2*h*m1*r*t1 +\\\r\n 2*R*e1^2*ep2^2*f2^2*h*r^2*t1^2 + a1^2*e1^2*ep2^2*f1^2*h^2*m1^2*mp^2 + 2*a1*e1^2*ep1*ep2*f1^2*fp2*h^2*m1^2*mp - 4*a1*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1^2*mp + 2*a1*e1^2*ep2^2*f1*f2*h^2*m1*mp*r*t1 + 4*a1*e1*ep1*ep2^2*f1^2*f2*h^2*m1*mp*r - 4*a1*e1*ep1*ep2^2*f1*f2^2*h^2*m1*mp*r + e1^2*ep1^2*f1^2*fp2^2*h^2*m1^2 - 2*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1*r*t1 + e1^2*ep2^2*f2^2*h^2*r^2*t1^2)^(1/2) - ep1*f1*mp*(R^2*a1^2*e1^2*ep2^2*f1^2*m1^2*mp^2 + 2*R^2*a1^2*e1*ep2^2*f*f1^2*f2*m1*mp + R^2*a1^2*ep2^2*f^2*f1^2*f2^2 + 2*R^2*a1*e1^2*ep1*ep2*f1^2*fp2*m1^2*mp - 4*R^2*a1*e1^2*ep1*ep2*f1*f2*fp2*m1^2*mp + 2*R^2*a1*e1^2*ep2^2*f1*f2*m1*mp*r*t1 - 4*R^2*a1*e1^2*ep2*f*f1*f2*fp2*m1*t1 + 4*R^2*a1*e1*ep1*ep2^2*f1^2*f2*m1*mp*r - 4*R^2*a1*e1*ep1*ep2^2*f1*f2^2*m1*mp*r - 2*R^2*a1*e1*ep1*ep2*f*f1^2*f2*fp2*m1 - 2*R^2*a1*e1*ep2^2*f*f1*f2^2*r*t1 + R^2*e1^2*ep1^2*f1^2*fp2^2*m1^2 - 2*R^2*e1^2*ep1*ep2*f1*f2*fp2*m1*r*t1 + R^2*e1^2*ep2^2*f2^2*r^2*t1^2 + 2*R*a1^2*e1^2*ep2^2*f1^2*h*m1^2*mp^2 + 2*R*a1^2*e1*ep2^2*f*f1^2*f2*h*m1*mp + 4*R*a\\\r\n1*e1^2*ep1*ep2*f1^2*fp2*h*m1^2*mp - 8*R*a1*e1^2*ep1*ep2*f1*f2*fp2*h*m1^2*mp + 4*R*a1*e1^2*ep2^2*f1*f2*h*m1*mp*r*t1 - 4*R*a1*e1^2*ep2*f*f1*f2*fp2*h*m1*t1 + 8*R*a1*e1*ep1*ep2^2*f1^2*f2*h*m1*mp*r - 8*R*a1*e1*ep1*ep2^2*f1*f2^2*h*m1*mp*r - 2*R*a1*e1*ep1*ep2*f*f1^2*f2*fp2*h*m1 - 2*R*a1*e1*ep2^2*f*f1*f2^2*h*r*t1 + 2*R*e1^2*ep1^2*f1^2*fp2^2*h*m1^2 - 4*R*e1^2*ep1*ep2*f1*f2*fp2*h*m1*r*t1 + 2*R*e1^2*ep2^2*f2^2*h*r^2*t1^2 + a1^2*e1^2*ep2^2*f1^2*h^2*m1^2*mp^2 + 2*a1*e1^2*ep1*ep2*f1^2*fp2*h^2*m1^2*mp - 4*a1*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1^2*mp + 2*a1*e1^2*ep2^2*f1*f2*h^2*m1*mp*r*t1 + 4*a1*e1*ep1*ep2^2*f1^2*f2*h^2*m1*mp*r - 4*a1*e1*ep1*ep2^2*f1*f2^2*h^2*m1*mp*r + e1^2*ep1^2*f1^2*fp2^2*h^2*m1^2 - 2*e1^2*ep1*ep2*f1*f2*fp2*h^2*m1*r*t1 + e1^2*ep2^2*f2^2*h^2*r^2*t1^2)^(1/2) - R*e1*ep1^2*f1^2*fp2*m1*mp - e1*ep1^2*f1^2*fp2*h*m1*mp + e1*ep1*ep2*f2^2*h*mp*r*t1 - R*a1*e1*ep1*ep2*f1^2*m1*mp^2 - a1*e1*ep1*ep2*f1^2*h*m1*mp^2 + 2*R*e1*ep1*f*f1*f2*fp2*t1 + R*a1*ep1*ep2*f*f1*f2^2*mp - R*a1*ep1*ep2*f*f1^2*f2*mp + R*e1\\\r\n*ep1^2*f1*f2*fp2*m1*mp + R*e1*ep1*ep2*f2^2*mp*r*t1 + e1*ep1^2*f1*f2*fp2*h*m1*mp - R*e1*ep1*ep2*f1*f2*mp*r*t1 - e1*ep1*ep2*f1*f2*h*mp*r*t1 + R*a1*e1*ep1*ep2*f1*f2*m1*mp^2 + a1*e1*ep1*ep2*f1*f2*h*m1*mp^2)/(2*e1*ep2*f2*(R*f*f2*t1 - R*ep1*f1*m1*mp + R*ep1*f2*m1*mp - ep1*f1*h*m1*mp + ep1*f2*h*m1*mp))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...