Задача о купце и сукне: решение Пети
Mathcad не назывался бы математическим пакетом, если б не умел решать системы, тем более состоящие всего лишь из двух алгебраических уравнений (любимая задача литераторов ¾ см. начало этюда). Нужно только задать начальные значения переменных. Пусть они будут равны первому («глупому») Петиному предположению: 540 разделить на 138. За ключевым словом Given (дано) пользователь должен записать анализируемую систему[5], связывая левые и правые части уравнений знаком «эквивалентно»: жирным знаком «равно» из панели Evaluation (аккорд Ctrl + =). Решить записанную систему поможет встроенная функция Find (найти). Это немного странная функция – она возвращает свое значение, зависящее не только от значений ее аргументов (здесь переменные Синее и Черное), но и от того, что около данной функции написано. Это «около» распространяется вверх (или влево) от выражения, использующего функцию Find, до ключевого слова Given и даже дальше – до начального приближения. Функция Find возвращает и заносит в переменную Ответ (это не скаляр, а вектор – матрица с одним столбцом и двумя строками) значения переменных Синее и Черное, превращающие наши два уравнения в тождества. Значения, хранящиеся в векторе Ответ, можно вывести на дисплей, поставив после имени переменной «светлый» знак равно (оператор вывода числового значения). Числа 63 и 75 охвачены скобками, подчеркивающими, что переменная Ответ – это вектор, то есть группа скалярных величин[6], объединенных в «один кулак» и подчиняющихся общей дисциплине, описываемой в особом разделе математики под названием «линейная алгебра». В среде Mathcad есть богатый набор функций и операторов работы с векторами и матрицами (см. рис. 1.3 и приложения 3 и 4), позволяющий легко и изящно решать довольно сложные задачи.
В конце рис. 1.6 представлен и второй вариант вывода результата – не распечаткой значения вектора Ответ, а распечаткой значений элементов[7]
вектора Ответ: переменных с индексом Ответ0 и Ответ1. По умолчанию в среде Mathcad первый элемент вектора имеет нулевой номер.
Термины вектор
и матрица (массив), только что промелькнувшие в нашем повествовании, подсказывают третье – Зиберовское решение задачи о купце и сукне, отображенное на рис. 1.7.
Жан-Франсуа Шампольон открыл тайну египетских иероглифов с помощью Розетского камня, где один и тот же текст был высечен по-древнеегипетски и по-древнегречески. Билингва решения задачи Удодова (пункт 1 на рис. 1.7) поможет читателям, знающим язык BASIC, понять особенности и достоинства Mathcad. Решая задачу Удодова (см. рис. 1.1, 1.4, 1.6 и 1.7), мы познакомились с четырьмя операторами, давшими пакету Mathcad второе название – суперкалькулятор, с операторами присваивания «:=» или «º» и операторами вывода результата «=» или «®». Операторы вывода нередко называют операторами распечатки переменной или выражения, напоминая тем самым о его аналоге на языке BASIC – операторе Print. Рис. 1.7 покажет нам и другие аналоги операторов и функций Mathcad в языке BASIC (феномен Розетского камня).