регистрация / вход

Работа в среде Mathcad

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

Сейчас никого не удивляет тот факт, что не только аспиранты, инженеры и студенты, но даже и школьники решают свои задачи на компьютере. Удивление или, по крайней мере, вопросы может вызывать лишь выбор конкретной программной среды для этих целей. Ответ на вопрос, почему для расчетов все чаще и чаще прибегают к услугам Mathcad, может быть и такой: Mathcad обладает уникальной возможностью[1] [1] оперировать не просто величинами, а физическими величинами. Пакет Mathcad можно назвать не просто математическим, а физико-математическим пакетом.

Работа в среде Mathcad – эта третья (и пока высшая) ступень в использовании вычислительной техники при решении физико-математических, инженерно-технических, а также учебных задач – школьных и вузовских. Две предыдущие ступени – это работа с машинными кодами (c ассемблером, например) и с языками программирования (BASIC, Pascal, C, fortran и т.д.). Эти две технологии научно-технических расчетов (машинные коды и языки программирования) сыграли с этими расчетами злую шутку: из расчетов были «выдавлены» размерности физических величин и единицы их измерения – метры, килограммы, секунды… Ручное решение физической задачи (школьной или вузовской задачи по физике, если говорить конкретнее), как правило, требовало и требует оперирования сугубо размерными величинами[2] [2]. Автоматизация таких расчетов – написание программ для компьютера исключает из задачи ее «физику»: переменные программы хранят только числовые значения, а соответствующие им единицы измерений программист должен «держать в уме». Из-за этого при переводе расчета на язык ЭВМ необходимо было придерживаться строгого правила – все физические величины должны быть в одной системе единиц. Кроме того, они должны быть без множителей мили, мега и т.д. Это жесткое правило вызывало и вызывает ряд неудобств, основные из которых следующие:

1. Международная система SI[3] [3] хоть и широко распространена в мире, но не является и, по-видимому, никогда не будет являться единственной. США, например, – страна, задающая тон во многих областях науки и техники, использует британскую систему измерений (в среде Mathcad эта система называется U.S.[4] [4]). Базирование программы на какой-либо одной системе единиц мешает естественному процессу глобального обмена идеями, получившему новое ускорение в эпоху Internet[5] [5].

2. Процесс создания программы немыслим без ее отладки, а основной инструмент отладки – это вывод на дисплей промежуточных результатов, анализ которых позволяет локализовать и устранить ошибку, если она была допущена при подборе формул и/или при написании самой программы. А здесь важно не только вывести значение нужной физической величины, но и выразить его в нужных единицах нужной системы измерения с нужными множителями (мега, кило, милли и т.д. – см. таблицу ??? в части 3 книги). Система SI при всех ее достоинствах внедрялась в виде «подарочного набора». Часть единиц измерения (килограммы, метры, секунды) использовались и используются без каких-либо затруднений, другие же («нагрузка») так и не прижились в качестве доминирующих (основных) единиц. В теплоэнергетике[6] [6], например, давление пара в котле чаще всего измеряют и выражают в атмосферах[7] [7], а давление в конденсаторе – в миллиметрах ртутного столба. «Узаконенная» («главная») единица измерения давления (паскаль – ньютон на квадратный метр) оказалась крайне неудобной. Трудно припомнить научно-техническую область, где паскали применялись бы в чистом виде – без масштабирующих множителей[8] [8] (бары, килопаскали, мегапаскали и т.д.). Дело в том, что «прижившаяся» единица измерения, как правило, связана с «жизнью» – с конкретным физическим явлением: атмосфера, как следует из самого названия – это давление воздуха на уровне моря (примерное давление – см. рис. 1.24 и рис. 1.34), а миллиметры ртутного столба напоминают нам об экспериментах Э. Торричелли («торричеллева пустота»; в среде Mathcad torr – это и есть миллиметр ртутного столба). В теплоэнергетике исключение «внесистемных» атмосфер и миллиметров ртутного столба – замена их на паскали чревата не просто неудобствами, но серьезными сбоями в работе, связанными, например, с тем, что оператор, управляющий энергоблоком[9] [9], будет неправильно интерпретировать показания манометров, проградуированных в «правильных» единицах давления.

3. В создаваемые программы приходиться вставлять формулы, выведенные не только в результате теоретического анализа проблемы (F=m g – см. анекдот в эпиграфе, E=m c2, e=m v2/2[10] [10] и т.д.), но и формулы, полученные после статистической обработки экспериментальных данных. Коэффициенты таких формул (см., например, рис. 1.32), как правило, жестко привязаны к той или иной системе единиц измерения и нередко требуют пересчета для использования в программе. Это может вносить дополнительные погрешности и быть причиной ошибок.

Одновременно с выходом книги в свет появится и ее Internet-версия (см. http://twt.mpei.ac.ru/ochkov/unit/index.htm). Это наложило отпечаток на оформление текста, в котором выделены гиперссылки: см. рис. 1.3, см. ниже, см. сноску 3 и т.д. Работая с бумажными вариантом книги, читатель, встретив такую гиперссылку, должен «вручную» перейти на нужную страницу. В Internet-версии переход на новое место и возврат на старое (с гиперссылкой) осуществляется намного проще – стоит только щелкнуть мышкой по гиперссылке. В Internet-версию автор будет вносить изменения и дополнения, которые читатели, автор надеется, будут послать по адресу ochkov@twt.mpei.ac.ru.

Исключение единиц измерения физических величин из расчетов на компьютере сказалось и на работе в среде Mathcad. Многие неопытные пользователи примерно так начинают формировать Mathcad-документ записывая размерность введенной величины в виде комментария, а не в виде множителя у числовой константы и отключая тем самым размерность физических величин из дальнейших расчетов. Если вспомнить язык BASIC, например, то там вышеописанный фрагмент расчета будет выглядеть так: P = 20: Rem Давление в МПа. Здесь также единицы измерения записываются в комментарии (в ремарку – Rem). Развивая алгоритм, программист может забыть, что давление у него в паскалях, а не в барах, например. Вот вам и ошибка.

Механизм работы с единицами измерений физических величин позволяет в среде Mathcad:

 вводить исходные данные в нужной системе измерений, в нужных единицах с нужными множителями (кило, мили и т.д.);

 вести контроль размерностей в формулах, по которым проводятся расчеты (не складывать килограммы с метрами, например)[11] [11];

 выводить рассчитанные величины в нужной системе и в нужных единицах измерений, использовать удобный масштаб осей графиков и т.д. и т.п.

Один из путей решения проблемы единиц измерения – это отказ от размерных величин и переход к использованию безразмерных чисел, хранящих количественную оценку тех или иных физических явлений: число Рейнольдса[12] [12], число Нуссельта, число Шмидта и т.д. (см. таблицу ??? в третьей части книги). Когда мы говорим, что давление в котле равно 50 атмосферам, то мы фактически оперируем не размерной (давление), безразмерной величиной – давление в котле в 50 раз выше атмосферного. Еще более радикальный путь – переход от числовых характеристик к качественным оценкам. Можно сказать, что давление в котле равно стольким–то атмосферам, а можно сказать, что давление нормальное (низкое, высокое и т.д.), и построить автоматизированную систему управления энергоблоком, основанную на лингвистических (экспертных) оценках и опирающуюся на теорию нечетких множеств[13] [13].

Пакет Mathcad полностью поддерживает математику работы с размерными переменными, о чем и будет рассказано ниже на несложных примерах.


[1] [1] Эта уникальность не совсем абсолютная. С размерными величинами может работать и другой популярный математический пакет Derive.

[2] [2] Тут автору вспоминаются студенческие практические занятия по теплопередаче, когда приходилось вести расчеты по довольно сложным «размерным» формулам (см., например, рис. 2.18). Единственным средством автоматизации таких расчетов в те времена была логарифмическая линейка. Сам же процесс расчета разбивался на три этапа: логарифмическая линейка выдавала мантиссу ответа, порядок же ответа и его размерность приходилось определять «вручную» – без каких–либо подручных цифровых или аналоговых вычислительных устройств. Из–за этого семинары по теплопередаче превращались в занятия… по технике счета и метрологии: на разбор «физики» задачи времени почти не оставалось. Появившиеся вскоре электронные калькуляторы и вычислительные машины (ЭВМ) стали выдавать ответ, содержащий также и порядок числа. Но единицы измерений по-прежнему оставались «за бортом» процесса автоматизации расчетов.

[3] [3] Здесь и далее мы будем писать SI, а не СИ, т.к. вторая аббревиатура в компьютерной литературе ассоциируется не с международной системой единиц, а с языком программирования.

[4] [4] Эту аббревиатуру мы будем в дальнейшем использовать для обозначения британской систем единиц.

[5] [5] Из среды Mathcad можно, например, выйти на Internet-форум под названием Collaboratory, где помещаются не только вопросы и ответы, но и Mathcad-документы с решением тех или иных задач по различным областям науки и техники. Адрес форума – http://collab.mathsoft.com/~mathcad2000.

[6] [6] Автор – преподаватель Московского энергетического института.

[7] [7] Этот факт зафиксирован, например, в маркировках паровых турбин: Т-100-130 (теплофикационная, электрической мощностью 100 МВт, давление острого пара 130 атм), К-300-240 (конденсационная, 300 МВт, 240 атм). Кроме того, на многих ТЭЦ до сих пор еще стоят старые манометры, градуированные в атмосферах.

[8] [8] В семидесятые годы были попытки давать в прогнозах погоды атмосферное давление не в привычных, но «неправильных» миллиметрах ртутного столба,а в «правильных» гектопаскалях . Это вызвало многочисленные протесты. Еще бы! Гипертоники могли пропустить прием лекарств, неверно поняв прогноз погоды. Потом стали называть давление и в гектапаскалях и в мм рт. ст., а потом все-таки от гектапаскалей отказались.

[9] [9] Управление энергоблоком, конечно, автоматизировано, но за человеком всегда остается право вмешиваться в работу.

[10] [10] Формула для расчета кинетической энергии e «заложена» в такой анекдот, дополняющий до трех «коллекцию» эпиграфа. «Студент–физик вывалился из электрички и ударился головой в придорожный столб. Три дня врачи боролись за его жизнь, а он беспрестанно бормотал: «Хорошо, что пополам, хорошо, что пополам…». При выписке из больницы врачи спросили у студента, что значит «пополам». «Эм ве квадрат пополам» – таков был ответ».

[11] [11] Учет размерности величин часто позволяет вывести нужную формулу. Частота колебания маятника, например, зависит только от длины маятника (математического, конечно) и ускорения свободного падения. Из этой посылки просто вывести нужную формулу.

[12] [12] Характер течения жидкости в трубе (турбулентность-ламинарность) можно оценит по трем размерным параметрам: скорость, диаметр и вязкость, а можно по одному безразмерному – по числу Рейнольдса.

[13] [13] Понятие «нормальное» давление – это нечеткое множество значений. Конкретное значение давления принадлежит этому множеству с определенной степенью вероятности, что описывается соответствующей функцией принадлежности (см. статью автора «Mathcad и теория нечетких множеств» – http://twt.mpei.ac.ru/ochkov/F_sets.htm).

ОТКРЫТЬ САМ ДОКУМЕНТ В НОВОМ ОКНЕ

ДОБАВИТЬ КОММЕНТАРИЙ [можно без регистрации]

Ваше имя:

Комментарий