MathCAD




7.5. Гибридное решение задачи на компьютере - часть 3


Гибридность решения задачи в среде Mathcad в полной мере проявляется при включенном режиме Optimize (Оптимизировать – см. раздел 7.3). В этом режиме пакет, столкнувшись с численной задачей (вычисление определенного интеграла, например), не будет сразу вызывать соответствующую процедуру, реализующую метод Ромберга, а постарается найти первообразную подынтегрального выражения и работать уже с ней. Но вот тривиальный пример – определенный интеграл от a до a. Человек и без численных методов и без символьной математики знает, что он равен нулю. А что будет делать машина? Среда Mathcad с выключенным режимом оптимизации также сразу выдаст нуль. А с оптимизацией она будет долго и упорно искать первообразную для подынтегрального выражения... У автора в запасе есть набор примеров подшучивания над Mathcad (см. начало этюда 3), ставящих на место любую сверхумную систему и показывающих, что человек еще долго будет царем природы – как живой, так и неживой.

Механизм аналитических преобразований, введенный в Mathcad, придал его старым «цифровым» встроенным функциям свойство, которое с определенной долей условности можно назвать полиморфизмом[56]. Пример – функция Find. Если за ней поставить знак «=», то будет выведено числовое

значение решения системы алгебраических уравнений, а если знак «®», то – аналитическое.

Функция Find (как и многие другие встроенные функции Mathcad) несколько странная, и мы это уже отмечали. Все нормальные функции возвращают свое значение в зависимости от своего имени, числа и значений аргументов (принцип инкапсуляции, если опять же оперировать терминами объектно-ориентированного программирования; механизм вложения функций, широко используемый в Mathcad, заставляет вспомнить и о третьем «ките» ООП – о механизме наследования). Так вот, функция Find возвращает свое значение в зависимости от того, что находится около нее до ключевого слова Given.

Работая с Mathcad, под гибридностью следует понимать сочетание аналитических, численных и интуитивных методов решения задачи, что проиллюстрировано примером на рис. 7.31. Решается все та же нами любимая задача об одном пожарном ведре (пункт 1) и о двух пожарных ведрах (пункт 2). При решении задачи формируются две функции пользователя r(a) и h(a) – радиус и высота конуса, размеры которых зависят от параметров раскроя круглой заготовки (см. схему на рис. 2.1). Из этих функций строится выражение для расчета объема ведра, от которого берется производная[57].




Содержание  Назад  Вперед