Преобразование в bool выражения, содержащего численное решение ДУ.

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

Модератор: Admin

dakishi
Сообщения: 1
Зарегистрирован: Чт окт 18, 2018 10:58 am

Преобразование в bool выражения, содержащего численное решение ДУ.

Сообщение dakishi » Чт окт 18, 2018 11:27 am

Доброго времени суток.

Проблема в следующем: я не могу сравнить результат решения системы ДУ с числом, т.к. sol(x)[2] > 1 - не преобразуется к boolean под предлогом:
Error, cannot determine if this expression is true or false: 1 < (A(r) = HFloat(0.8585440123371363))

Вопрос: как произвести сравнение ?

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

with(DEtools);


r0 := 10^(-6);
e := 0.23e-1;
 x := 1.0;
 
  sys := B(r) = (D(F))(r), (D(F))(r) = -A(r), C(r) = (D(A))(r), (D(A))(r)+(D(C))(r) = -F(r)*A(r);
  inits := F(r0) = 1, A(r0) = 1.1, B(r0) = 0, C(r0) = 0;
   sol := dsolve({inits, sys}, {A(r), B(r), C(r), F(r)}, numeric);
 
  if evalb(sol(x)[2] > 1) then
  print("true")
  else
  print("false")
   end if;



Примечание:
type(expr, boolean) - выдает true, как ни странно.

Kitonum
Сообщения: 2050
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: Преобразование в bool выражения, содержащего численное решение ДУ.

Сообщение Kitonum » Пт окт 19, 2018 9:33 am

В коде исправьте sol(x)[2] на rhs(sol(x)[2])