Mathcad: от графика к формуле, от расчета на компьютере к расчету в Интернет (English Version) (др. статьи на эту тему >>>>>>>)

(журнал "Exponenta Pro: математика в приложениях" (http://www.exponenta.ru/journal), № 4, 2003 г.)

В.Ф. Очков

http://twt.mpei.ac.ru/ochkov

OchkovVF@mpei.ru

В статье затронута частная инженерная задача (автоматизация работы с семействами кривых), на примере которой рассмотрена новая тенденция ­– перенос расчетов с рабочей станции на сервера Интернет (Webcalculations).

Сначала о полезных мелочах

Очень часто в технической литературе функциональные зависимости даются не формулами, а графиками.

График влияния скорости воды и ее температуры на удельное гидравлическое сопротивление в фильтре

Рис. 1. График влияния скорости воды и ее температуры на удельное гидравлическое сопротивление в фильтре

На рис. 1 в качестве примера показан график влияния скорости воды и ее температуры на удельное гидравлическое сопротивление в слое фильтрующего материала. Рисунок взят из технической документации одной известной фирмы (Purolite – см. www.purolite.com), поставляющей водоочистное оборудование.

Подобные графики приводятся не только для качественного описания тех или иных закономерностей (гидравлическое сопротивление растет при росте скорости и падает при росте температуры, если говорить зависимостях, отображенных на рис. 1), но и для их количественной оценки – для расчетов. В упомянутой фирменной документации описан расчет гидравлического сопротивления по методике «вождение пальцем по графику»: отложите по оси х значение скорости, мысленно проведите недостающую изотерму и считайте ответ на оси у.

В технической литературе (особенно в справочной) встречаются также и разного рода номограммы с инструкциями такого рода: отложите значение первого аргумента на левой  шкале, а второго – на правой; соедините точки линейкой и на средней шкале считайте ответ (пример "живой" номограммы на MAS). В номограммах (а на них выросло целое поколение инженеров) «тонет» физика задачи – ее качественная оценка, зато повышается точность расчетов. Выпускались даже нехитрые механические устройства типа логарифмической линейки с «вшитыми» в них алгоритмами расчетов. Такие устройства были особо популярны у штурманов, прокладывающих маршруты морских и воздушных судов. Сейчас что-то подобное можно купить в газетных киосках –  совместил на двух дисках свой вес и рост и узнал, пора ли переходить на диету…

Но для современных расчетов с использованием компьютеров или просто калькуляторов более подходят не графики и номограммы, а формулы, которые часто не приводятся в технической литературе по ряду причин.

Во-первых, формулы не даются из благих намерений освободить читателя от расчетов. Тем более, что это зачастую и не расчет в привычном понимании этого слова, а некая оценка, прикидка того или иного параметра. В той же документации, откуда взять рис. 1, рекомендовано при выборе насоса для фильтра (а его напор – это произведение удельного гидравлического сопротивления на высоту слоя загрузки фильтра) увеличить расчетное гидравлическое сопротивление на 10-20 % (так называемый инженерный запас, нивелирующий помимо прочего и ошибки считывания чисел «пальцем» с графика).

Во-вторых, нередко никакой формулы не было и нет, т.к. на графиках даны результаты некой графической обработки опытных точек усредняющими кривыми. Кривые, показанные на рис. 1, получены после испытания фильтрующего материала на специальном стенде, где есть возможность менять скорость потока и температуру воды и замерять перепад давления. В научной же (не технической) литературе считается хорошим тоном оставлять на графике эти экспериментальные точки и показывать различного рода доверительные интервалы. В последнее время получает распространение практика ссылок из научных статей на сайт, где хранятся первичные протоколы опытов, по которым читатель может не только проверить выводы автора, но и дать свою трактовку результатов. Можно идти дальше – рекомендовать программу для компьютера с расчетом по этому графику. На бумаге (в технической документации – см. выше) видна качественная оценка явление, а на сайте, поддерживающим эту документацию, прописан соответствующий расчет. Для этого можно а) попытаться связаться с автором и попросить его дать формулу, если она, конечно, есть; б) вывести самому нужную формулу опираясь на «физику» задачи; в) провести интерполяцию сплайнами, например.

В среде Mathcad есть встроенные функции (lspline, pspline и cspline) для сплайн-интерполяции табличных зависимостей функций одного или двух аргументов. Но работа с этими функциями при двух аргументах затруднена из-за того, что эти функции требуют «квадратных» исходных табличных данных, где число точек по первому аргументу равно числу точек по второму аргументу. Реальные же данные на графиках, как правило, ложатся в прямоугольную (далеко не квадратную) таблицу. Из-за этого приходится либо искусственно «оквадрачивать» исходные табличные данные, что влечет потерю точности (прямоугольник сводится к квадрату по наименьшей стороне), либо менять «одну двумерную интерполяцию на две одномерные».

Универсальный Mathcad-документ автоматизации работы с семейством кривых

Рис. 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, взятого с сайта www.mathcad.com/server.

.  Технология работы Mathcad Application Server

Рис. 3. Технология работы Mathcad Application Server

Описание технологии MAS: по-английски, по-русски

Отзыв на статью

Примерно года три назад попалась мне на глаза статья в журнале Exponenta Pro за 2003 год «MathCad: от графика к формуле, от расчета на компьютере к расчету в Интернет».  Подход по «оживлению» графиков, реализованный в этой статье, мне понравился. Но так как в тот момент под рукой не оказалось практической задачи, в которой можно было бы реализовать данный подход, журнал отправился пылиться на полку.

Вспомнил я об этой статье только тогда, когда, автоматизируя очередную инженерную задачу в MathCAD, увидел подобное семейство графиков. По сути, вычислительная процедура, реализующая расчет эксплуатационной производительности гидравлических экскаваторов с рабочим оборудованием «обратная лопата», с математической точки зрения была простой. Необходимо значение одного параметра умножить на значения других параметров. Вся «изюминка» заключалась в том, что часть этих параметров определялась графически. Подобный способ не так трудоемок, если выполнять расчет для одного экскаватора. Напрягая зрение, пальчиком водим по графикам, из таблиц, на основе линейной интерполяции, находим промежуточные значения, все перемножаем и вот он ответ. Возможно в первый раз это интересное и забавное занятие. Понимание о рутинном труде приходит следующий раз, когда вам нужно выбрать экскаватор с наибольшей эксплуатационной производительностью (которая зависит от технических характеристик экскаватора, условий копания, условий разгрузки, организации работы и квалификации оператора) среди двух, а еще хуже среди десятка подобных машин. В этой ситуации приходит осознание необходимости автоматизации данного процесса. Выбор выпал на систему MathCAD.

Зачем заново изобретать велосипед? Стерта пыль с журнала. Открываем на нужной странице и вот она перед глазами готовая реализация. Наибольшую трудность (по времени) в процессе набора документа вызывало лишь создание матрицы (М), содержащей значения ряда опорных точек графиков, и наведение «косметического ремонта» для наглядности. Попытка уйти от использования программного модуля, содержащего в себе циклическую структуру, ни к чему хорошему не привела.

Что касается «крупных тенденций». Нужного сервера под рукой не оказалось, но было желание, чтобы разработанным документом можно было пользоваться  только в определенной локальной сети. Для этого мы разделили документ – исходные данные и результаты в одном файле, расчет в другом файле (особое название, особое место расположения). Второй файл связали с первым с помощью ссылки на него. При этом ссылку поместили в отдельную область, которую скрыли и защитили. Затем установили защиту от изменения на весь документ (время покажет, как быстро взломают). В итоге вышло довольно симпатично.

 

Доцент кафедры ИиПМ

Брестского государственного

технического университета, к.т.н.                                                                    В.А. Кофанов

Декабрь 2014 г.