2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 баг Maple?
Сообщение09.08.2007, 16:10 
вчера провел незабываемые 5 часов, пытаясь разобраться, почему же программа для диссертации выдает неправильный результат для 1-й строки матрицы, и правильный для всех остальных (это для простоты, там конечно чтобы дойти до этого пришлось возиться). Вот две казалось бы эквивалентные записи одной функции:
Код:
f_1:=m->piecewise(m = 0, 2*Pi, Pi);
f_2:=m->`if`(m = 0, 2*Pi, Pi);


проверяем:
Код:
f_1(0);f_2(0);f_1(1);f_2(1);

дает $2\pi, 2\pi, \pi, \pi$ соответственно. Усложняем задачу:
Код:
eval(f_1(m), m=0); eval(f_2(m), m=0); eval(f_1(m), m=1); eval(f_2(m), m=1);

получяем $2\pi, \pi, \pi, \pi$. Обратите внимание, что eval(f_2(m), m=0) дает $\pi$. Более того, если записать f_2(m), где m - символьная переменная, а не число, то результат также будет равен $\pi$. В то же время запись f_1(m) дает $\left\{\begin{array}{l}2\pi, m=0\\ \pi, otherwise\end{array}$. Получается, что синтаксис с `if` не определяет символьного выражения, а работает как макрос, если используется с eval-ом. Что это такое? Это так задумано (тогда хотелось бы увидеть цитату из документации Maple), или это баг? Все примеры разбирал на Maple v. 10.

 
 
 
 
Сообщение10.08.2007, 09:16 
Аватара пользователя
sadomovalex

Конструкция "if" всегда была очень интересной в Maple. От греха подальше я всегда старался пользоваться вот какой конструкцией, если аргумент численный, "if (eval(..)...)" хотя возможно это всего лишь подстраховка. Использовал и "if" для работы со строковыми переменными, например, поиск подстроки в строке, работает нормально.

Относительно Вашей проблемы, мне кажется, что все дело в аргументе eval(..).
Относительно багов: если я не ошибаюсь, то компания Waterloo за найденные 10 багов дарит официальную версию. Вам осталось 9. :)

 
 
 
 Ошибка в Maple 11
Сообщение15.02.2009, 21:33 
Kernel Connection Lost...
Как исправить данную ошибку?

 
 
 
 
Сообщение18.02.2009, 13:46 
Я читал где-то, что это бывает, если работаешь не в обычном режиме (как в версиях Maple до 10-й) - где просто пишешь текст, а в расширенной версии (где формулы изображаются как в книге)... может попробовать переключиться в другой режим?

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group