solve

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

Модератор: Admin

kee
Сообщения: 1
Зарегистрирован: Пн янв 06, 2003 1:27 pm

solve

Сообщение kee » Пн фев 18, 2008 7:50 pm

Помогите, пожалуйста, разобраться.
Дано:
> f1 := sin(x)+.5; f2 := (1/6)*x;
Почему в этом случае вычисляются все корни
> _EnvAllSolutions := true;
> _EnvExplicit := true;
>> solve([f1 = 0, x > 0, x < 10], [x]);
[[x = 5.759586532], [x = 3.665191428], [x = 9.948376736]]
а в этом не находит ни одного корня?
> solve([f1 = f2, x > 0, x < 10], [x]);
[]
Как всё же получить все решения этого уравнения при заданных ограничениях?

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

Сообщение aar » Пн фев 18, 2008 8:43 pm

Похоже, что в этом случае solve обращается к fsolve, о котором в хелпе сказано: "For more complicated equations, the fsolve command computes one real solution." От этого хелпа есть ссылка на RootFinding[Analytic], получаются ответы следующим образом:

> RootFinding[Analytic](f1-f2, x, re = 0 .. 10, im = -1 .. 2);
7.01664000167895, 3.12136394915893, 8.33078877350055

Посмотрите хелп для fsolve и RootFinding.