Странное поведение solve.

Форум пользователей пакета Maple

Модератор: Admin

AlexxZ2
Сообщения: 138
Зарегистрирован: Вс ноя 05, 2006 9:05 pm

Странное поведение solve.

Сообщение AlexxZ2 » Сб мар 22, 2008 7:32 pm

Не скажет ли кто-нибудь почему Maple10,
вот это решает на ура: solve({x^2+x+y=10,x=2*y});
результат: {x = -4, y = -2}, {x = 5/2, y = 5/4}

А вот это решать не хочет: solve({x^2+x+y=10,x=3*y});
результат: {x = RootOf(3*_Z^2+4*_Z-30,label = _L51), y = 1/3*RootOf(3*_Z^2+4*_Z-30,label = _L51)}

Хотя последнее решается элементарной подстановкой.
Спасибо.

watewatick
Сообщения: 21
Зарегистрирован: Вт мар 18, 2008 7:16 pm
Откуда: moscow
Контактная информация:

Сообщение watewatick » Сб мар 22, 2008 8:18 pm

Попробуй вот так:
sys:=solve({x^2+x+y=10,x=3*y};
allvalues(sys);

aar
Сообщения: 100
Зарегистрирован: Чт авг 10, 2006 11:27 am

Сообщение aar » Сб мар 22, 2008 8:20 pm

Формально solve все решил. Если пользователя не устраивает такой вид результата, можно его отконвертировать:

Код: Выделить всё

> convert(solve({x^2+x+y = 10, x = 3*y}, {x, y}), radical);

   {x = -2/3+(1/3)*sqrt(94), y = -2/9+(1/9)*sqrt(94)}

Андрей М.
Сообщения: 239
Зарегистрирован: Чт апр 21, 2005 3:15 pm

Сообщение Андрей М. » Сб мар 22, 2008 8:22 pm

> evalf(solve({x^2+x+y=10,x=3*y}));

{x = 2.565119905, y = 0.8550399682}

AlexxZ2
Сообщения: 138
Зарегистрирован: Вс ноя 05, 2006 9:05 pm

Сообщение AlexxZ2 » Сб мар 22, 2008 10:05 pm

А возможно так настроить, чтобы convert() или allvalues() использовать для таких простых случаев не надо было?
А также, в чем же причина разной обработки: solve({x^2+x+y=10,x=2*y}); и solve({x^2+x+y=10,x=3*y}); ?

aar
Сообщения: 100
Зарегистрирован: Чт авг 10, 2006 11:27 am

Сообщение aar » Вс мар 23, 2008 2:19 pm

> _EnvExplicit := true;
> solve({x^2+x+y = 10, x = 3*y});

Разница из-за того, что в первом случае ответ -- рациональные числа, во втором -- числа с радикалами.

Учитель
Сообщения: 68
Зарегистрирован: Вс июн 19, 2005 2:53 pm

Сообщение Учитель » Вс мар 23, 2008 5:28 pm

См. справку по RootOf. Из нее все должно быть ясно и в этом вопросе.

AlexxZ2
Сообщения: 138
Зарегистрирован: Вс ноя 05, 2006 9:05 pm

Сообщение AlexxZ2 » Ср мар 26, 2008 11:05 am

По поводу хелпа по RootOf понятно. Не понятно одного, зачем вообще так сделали? Куда проще в моем примере было таки вывести эти 2 несчастных комплексных корня и решить систему, чем отправлять меня к хелпу и выдавать полную лабуду для среднего смотрящего?