Компьютерное моделирование задач оптимизации. Мироновский Л.А - 8 стр.

UptoLike

Рубрика: 

8
ной переменной _EnvExplicit. Для получения всех решений уравне+
ний, содержащих периодические функции, следует присвоить истин+
ное значение переменной _EnvAllSolutions. Например:
> _EnvAllSolutions:=true;
_EnvAllSolutions := true
> solve(sin(x));
Pi _Z1~
Часто при решении уравнений и преобразовании выражений целе+
сообразно оговаривать те или иные допущения о возможных значе+
ниях переменных. Это делается при помощи команды assume.
Например:
> q:=sqrt((1-x)^2);
q := ((1 + x)
2
)
1/2
> simplify(q);
csgn(x + 1) (x + 1)
Это означает, что при х > 1 ответ будет х-1, а при х < 1 ответ будет
1–х. Введем предположение, что х < 1:
> assume(x<1);
> simplify(q);
1 – x~
Теперь мы получили один вариант ответа.
Переменные, о которых сделаны допущения, по умолчанию отме+
чаются знаком ~ (это можно изменить в настройках). Узнать об этих
допущениях можно при помощи команды about:
> about(x);
Originally x, renamed x~:
is assumed to be: RealRange(+infinity,Open(1))
Для получения численного решения можно воспользоваться ко+
мандой fsolve, или же вычислить значение решения в виде RootOf
при помощи команды evalf, преобразующей выражение к формату с
плавающей точкой
1
.
Работу последней можно пояснить следующим примером:
> sqrt(2);
2
1/2
> evalf(sqrt(2));
1.4142135623730951
> Digits:=30;
Digits := 30
1
Ïîñòàðàéòåñü îáúÿñíèòü, êàêîâà ðàçíèöà ìåæäó ýòèìè ñïîñîáàìè, è êàêîé èç íèõ
ïðåäïî÷òèòåëüíåé.