Mathcad: почему произведение положительных значений равно нулю :)
Условие задачи было следующим:
Найти произведение только положительных значений функцииf(x)=cos(x)
, величинаx
меняется от-π
доπ
включительно с шагомπ/10
С функцией if
внутри стандартного оператора произведения у народа упорно получался ноль, решение с помощью программирования функции приводило к тому же результату.
Проблема уже описана вот тут и решается аналогично.
Дело в том, что косинус от -π/2
, вычисленный не символьно, а аналитически, едва ли будет равен 0
из-за погрешностей работы с вещественными числами (компьютер считает косинус, раскладывая его в ряд Маклорена). Если дважды щёлкнуть по числу и увеличить количество знаков в дробной части, мы увидим "настоящее" значение (см. Y6
на скрине):
Произведение положительных значений функции в Mathcad - почему ноль?
Соответственно, используя в условии не Yi
, а, например, round(Yi,10)
, получаем правильный ответ.
Скачать этот пример в файле .xmcd Mathcad 14/15 (33 Кб)
04.03.2016, 22:25 [6125 просмотров]