2009-05-19 9 views
2

Я квадратное уравнение 1/х = 1/(ах) + 1/(3 * а -x)Как решить символическое уравнение с двойными коэффициентами в Matlab?

Я хочу, чтобы решить эту проблему в MATLAB:

solve('1/x=1/(a-x)+1/(3*a-x)', 'x') 
ans = 
(4/3+1/3*7^(1/2))*a 
(4/3-1/3*7^(1/2))*a 

Есть ли способ решить уравнение с поплавковым коэффициентом? Как

ans = 
    2.215250437021530*a 
    0.451416229645136*a 

ответ

2

Apparently, double(ans) должен преобразовать его для вас.

+0

Но я получаю только сообщение об ошибке: >> двойной (ANS) ??? Ошибка при использовании ==> sym.double при 25 DOUBLE не может преобразовать входное выражение в двойной массив. Если входное выражение содержит символическую переменную, вместо этого используйте функцию VPA. – izidor

+3

Что произойдет, если вы используете функцию VPA (ans)? –

+0

vpa (ans) - это то, что мне нужно. Большое спасибо за ваш ответ – izidor

0

Я Eval(), чтобы получить двойной результат от символического выражения