В.Ф. Очков
В статье затронута частная инженерная задача (автоматизация работы с семействами кривых), на примере которой рассмотрена новая тенденция – перенос расчетов с рабочей станции на сервера Интернет (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-документ) можно свести к задаче о двухмерной, а двумерную - к одномерной, что мы сделали ранее.
|