Mathcad: от графика к формуле, от расчета на
компьютере к расчету в Интернет
В.Ф. Очков
В
статье затронута частная инженерная задача (автоматизация работы с семействами
кривых), на примере которой рассмотрена новая тенденция – перенос расчетов с
рабочей станции на сервера Интернет (Webcalculations).
Сначала о полезных
мелочах
Очень
часто в технической литературе функциональные зависимости даются не формулами,
а графиками.
Рис.
1. График влияния скорости воды и ее температуры на удельное гидравлическое
сопротивление в фильтре
На
рис. 1 в качестве примера показан график влияния скорости воды и ее температуры
на удельное гидравлическое сопротивление в слое фильтрующего материала. Рисунок
взят из технической документации одной известной фирмы (Purolite – см. www.purolite.com),
поставляющей водоочистное оборудование.
Подобные
графики приводятся не только для качественного описания тех или иных
закономерностей (гидравлическое сопротивление растет при росте скорости и
падает при росте температуры, если говорить зависимостях, отображенных на рис.
1), но и для их количественной оценки – для расчетов. В упомянутой фирменной
документации описан расчет гидравлического сопротивления по методике «вождение
пальцем по графику»: отложите по оси х значение скорости, мысленно проведите
недостающую изотерму и считайте ответ на оси у.
В
технической литературе (особенно в справочной) встречаются также и разного рода
номограммы с инструкциями такого рода: отложите значение первого аргумента на
левой шкале, а второго – на правой; соедините точки линейкой и на средней
шкале считайте ответ (пример "живой" номограммы на MAS). В
номограммах (а на них выросло целое поколение инженеров) «тонет» физика задачи
– ее качественная оценка, зато повышается точность расчетов. Выпускались даже
нехитрые механические устройства типа логарифмической линейки с «вшитыми» в них
алгоритмами расчетов. Такие устройства были особо популярны у штурманов,
прокладывающих маршруты морских и воздушных судов. Сейчас что-то подобное можно
купить в газетных киосках – совместил на двух дисках свой вес и рост и
узнал, пора ли переходить на диету…
Но
для современных расчетов с использованием компьютеров или просто калькуляторов
более подходят не графики и номограммы, а формулы, которые часто не приводятся
в технической литературе по ряду причин.
Во-первых,
формулы не даются из благих намерений освободить читателя от расчетов. Тем
более, что это зачастую и не расчет в привычном понимании этого слова, а некая
оценка, прикидка того или иного параметра. В той же документации, откуда взять
рис. 1, рекомендовано при выборе насоса для фильтра (а его напор – это
произведение удельного гидравлического сопротивления на высоту слоя загрузки
фильтра) увеличить расчетное гидравлическое сопротивление на 10-20% (так
называемый инженерный запас, нивелирующий помимо прочего и ошибки считывания
чисел «пальцем» с графика).
Во-вторых,
нередко никакой формулы не было и нет, т.к. на графиках даны результаты некой
графической обработки опытных точек усредняющими кривыми. Кривые, показанные на
рис. 1, получены после испытания фильтрующего материала на специальном стенде,
где есть возможность менять скорость потока и температуру воды и замерять
перепад давления. В научной же (не технической) литературе считается хорошим
тоном оставлять на графике эти экспериментальные точки и показывать различного
рода доверительные интервалы. В последнее время получает распространение
практика ссылок из научных статей на сайт, где хранятся первичные протоколы
опытов, по которым читатель может не только проверить выводы автора, но и дать
свою трактовку результатов. Можно идти дальше – рекомендовать программу для
компьютера с расчетом по этому графику. На бумаге (в технической документации –
см. выше) видна качественная оценка явление, а на сайте, поддерживающим эту документацию,
прописан соответствующий расчет. Для этого можно а) попытаться связаться с
автором и попросить его дать формулу, если она, конечно, есть; б) вывести
самому нужную формулу опираясь на «физику» задачи; в) провести интерполяцию
сплайнами, например.
В
среде Mathcad есть встроенные функции (lspline, pspline и cspline) для
сплайн-интерполяции табличных зависимостей функций одного или двух аргументов.
Но работа с этими функциями при двух аргументах затруднена из-за того, что эти
функции требуют «квадратных» исходных табличных данных, где число точек по
первому аргументу равно числу точек по второму аргументу. Реальные же данные на
графиках, как правило, ложатся в прямоугольную (далеко не квадратную) таблицу.
Из-за этого приходится либо искусственно «оквадрачивать» исходные табличные
данные, что влечет потерю точности (прямоугольник сводится к квадрату по
наименьшей стороне), либо менять «одну двумерную интерполяцию на две
одномерные».
Рис.
2. Универсальный Mathcad-документ автоматизации работы с семейством кривых
На
рис. 2 показан универсальный Mathcad-документ автоматизации работы с семейством
кривых. Его универсальность в том, что в матрице исходных данных можно
произвольно менять значения элементов, число строк и столбцов. Левая «девятка»
матрицы хранит названия боковика и шапки таблицы.. Программно создается функция
пользователя с именем ΔPу и с двумя аргументами. Функция содержит в
матрице M опорные точки интерполяции (результаты обмера графика линейкой) с
боковиком (первый аргумент функции – температура) и шапкой (второй аргумент –
скорость). Еще одна особенность функции, созданной с среде Mathcad, –
возможность ее работы с размерными величинами, что позволяет вводить данные с
любыми единицами скорости и температуры и иметь ответ также в разных единицах
не только в числах, но и на графиках. Контроль размерностей, кроме того,
позволяет выявить разного рода опечатки и ошибки в исходной документации. Так
на исходном графике, показанном на рис. 1, перепад давления измеряется в
кг/см2, а должно быть кгс/см2 (атмосфера техническая).
Введенная
функция дает возможность не только вести интерполяцию, но и восстанавливать
исходное «семейство кривых» в разных системах измерения с графической
интерпретацией самого процесса интерполяции: по значению первого аргумента
строится промежуточная кривая (у нас это изотерма, проведенная красным
пунктиром), а по значению второго – считывается искомое значение.
«Выуживать»
матрицу исходных данных для их последующей интерполяции можно не только из
«старых» графиков, но и из «новых» программ. В программах, как правило,
функциональные зависимости запрятаны еще глубже, чем на графиках. На
«поверхности» остаются только диалоговые окна, в которых пользователь может
менять значения аргументов и видеть, как при этом меняются значение функции.
Но
и этого может достаточно для восстановления функциональной зависимости – нужно
составить заполнить таблицу (матрицу) и провести вышеописанную интерпретацию.
Осторожно! Часто несколько независимых аргументов формируют некую скрытую
функцию, которая в свою очередь участвует в формировании другой функции.
Теперь о крупных
тенденциях
Выше
было сказано, что при работе с «мертвым» графиком «можно идти дальше и делать
ссылки на программу с расчетом по этому графику». Но можно «идти» не просто
дальше, но и «выше» в смысле «высоких Интернет-технологий» – давать
ссылки не на программы (exe-файлы или файлы популярных математических программ,
Mathcad, например – см. рис. 2, которые нужно скачивать, а до этого нужно
ставить на компьютер соответствующую программу и т.д.), а на расчетные
Интернет-ресурсы – Webcalculations (Webcomputation, WebCalcul, WebComp), если
так можно выразится и если этот термин (термины) уже не зарегистрирован (ы) в
качестве торговой марки.
Примеры
преобразования графиков в формулы (рис. 1 и другие подобные графики) можно
скачать с сайта www.vpu.ru, а по одному из них уже можно поработать в режиме
Webcalculations – смотри, вернее, зайди на сайт
http://mas.mathsoft.com/mas/library/calc_DeltaP_A400.mcd или
http://twt.mpei.ac.ru/mas/worksheets/Calc_DeltaP_A400.mcd. Технология работы
Mathcad Application Server’а (MAS) показана на рис. 3, взятого с сайта
http://www.mathcad.com/server/server.
.
Рис. 3. Технология работы Mathcad Application Server
Описание
технологии MAS: по-английски, по-русски
PS
С
MAS можно работать даже через Pocket PC
PPS
У
математика попросили разработать алгоритм кипячения воды в чайнике:
"Налить воду в чайник и поставить чайник на огонь!". Задачу изменили
- чайник полон воды. Новый алгоритм математика: "Выливаем воду из чайника
и сводим алгоритм к предыдущему! - таков был новый алгоритм математика. Задачу
о трехмерной сплайн-интерполяции (Mathcad-документ) можно свести к задаче о
двухмерной, а двумерную - к одномерной, что мы сделали ранее.
Список литературы
Для
подготовки данной работы были использованы материалы с сайта http://twt.mpei.ac.ru