СИСТЕМЫ АВТОМАТИЗАЦИИ ИНЖЕНЕРНЫХ РАСЧЕТОВ
·
Применение пакетов прикладных программ при моделировании
в науке и технике
·
Интерфейс и основные инструменты Mathcad
Это современные программные средства, которые сегодня не только успешно заменяют ученым и инженерам ручку с тетрадью, логарифмическую линейку, таблицы интегралов и другие математические справочники, но и позволяют во многих случаях обойтись без традиционного программирования прикладных задач, решая их в специально разработанных средах, позволяющих выполнять численные расчеты, аналитические преобразования, анализ данных и графическое представление результатов. Это направление прикладного программного обеспечения развито в мире чрезвычайно широко.
Применение
пакетов прикладных программ при моделировании в науке и технике
Бурное развитие вычислительной техники и возможности современных ПЭВМ дает научным работникам и конструкторам «инструменты» позволяющий дополнить, а в некоторых случаях заменить реальные исследования практически во всех областях науки и техники. Это в свою очередь побуждает программистов к созданию пакетов прикладных программ (ППП) для моделирования различных процессов на ПЭВМ.
В первое время при проведении вычислительных экспериментов приходилось довольствоваться программным обеспечением не всегда пригодным для этих целей. В частности использовались инструментальные программы и языки программирования (алгол, бейсик, паскаль, фортран, и т.д.). Хотя основное предназначение их состояло в создании пользовательских ППП и обучению основам программирования.
На сегодняшний день средства разработки такие как например С++, Delphi, Basic, Fortran и т.д. также применяются при моделировании в науке и технике. Но их практическое использование ограничено. Это и сложности освоения данных программ, и высокие требования к аппаратным средствам ПЭВМ. У данного класса программ другие цели и задачи.
Благодаря усилиям фирм, занимающихся созданием программных продуктов для ЭВМ, сегодня мы имеем как универсальные, так и специализированные ППП, позволяющие проводить вычислительные эксперименты, как в фундаментальных, так и в прикладных областях науки и техники. Практически все из них имеют удобный графический интерфейс, полнофункциональные редакторы рабочих документов, мощные языки программирования, превосходную двух- и трехмерную графику и анимацию. Отметим наиболее популярные из них.
MATLAB – язык технического программирования сверх высокого уровня. Одна из самых ранних и глубоко почитаемых специалистами математических систем, созданная фирмой Math Works, позволяет быстро и эффективно решать сложные задачи, базирующиеся на матричных методах решения. Профессионалы особенно почитают MATLAB (несмотря на некоторую архаичность пользовательского интерфейса) за высокую скорость выполнения вычислений, за огромный набор встроенных и пользовательских функций, подчас уникальных, а также за возможность поистине неограниченного и весьма простого расширения.
Систему Maple можно назвать «патриархом» символьной
математики, созданную усилиями фирмы Waterloo Maple. Вычислительное ядро
новой реализации Maple V R6 содержит более 3000 доступных функций (готовых алгоритмов). Данный ППП обеспечивает функционирование на всех широко
используемых компьютерных платформах включая Windows, Macintosh, Unix, Linux, производит вычисления с бесконечной точностью, и т.
д. Несколько сокращенное ядро символьной математики системы Maple фирма MathSoft по соглашению
с фирмой Maple Software,
использовала в создании ППП Mathcad.
Mathcad — это универсальный инструмент для технических
расчетов, предназначен для автоматизации решения массовых математических задач
в самых различных областях науки, техники и образования. Помимо собственно
вычислений, как численных, так и аналитических, он позволяет производить
оцифровку изображений, системный интегратор -
MathConnex, обеспечивает интеграцию Mathcad с рядом иных
программных продуктов, собственное средство выхода в Internet, доступная цена – вот неполный перечень
достоинств данного ППП.
Фирма MathSoft
поставляет на рынок ППП также
профессиональный статистический пакет S–PLUS, отличающийся высокой
производительностью при обработке больших объемов данных.
Еще один ППП предназначенный для численных и
аналитических расчетов – это Mathematika фирмы Wolfram Reseatch.
Характеризуется большим количеством функций, многофункциональным языком
программирования с возможностью перекодировки процедур в коды языков высокого
уровня - Си и Фортран. (Это же возможно и в
MATLAB, и в Maple)
Лидирующая в мире система статистического анализа
данных Statistika от
фирмы StatSoft предлагает сотни типов графиков интегрированных с разнообразными
аналитическими процедурами. Данный ППП широко
используется и на производстве, и в банках,
и т.д.
В последнее время популярностью пользуются специализированные ППП в прикладных аспектах науки и техники. В
частности для конструирования электронных схем фирма Electronics Workbench выпустила очередную версию Multisim 6,
способную создавать, тестировать будущие
микросхемы. Осуществляет анализ элементов и схем, который практически
невозможен в реальной лаборатории. Производит простой перевод данных анализа в
интерфейсы популярных программ Mathcad и Excel.
Уникальные технологии для проектирования и
конструирования предлагает фирма Autodesk
- специализарованные ППП: для мультимедия и
визуализации (3D Studio MAX); для машиностроения (Mechanical Desktop); для создания геоинформационных систем (AutoCAD MAP); архитектуры и строительства (AutoCAD Architectural Desktop); а также универсальный пакет AutoCAD для персональных решений.
В
последнее время все больше фирм и компаний, занимающиеся разработкой и
созданием программного обеспечения для ПЭВМ ориентируют свою деятельность на
создание именно ППП позволяющие
моделировать, производить типовые расчеты во всех областях науки и техники.
Интерфейс и основные инструменты Mathcad
MathCad – популярная система компьютерной математики, предназначенная для автоматизации решения массовых математических задач в самых различных областях науки, техники и образования.
Окно программы (рис.1) имеет ту же структуру, что и
большинство приложений Windows. Сверху вниз
располагаются заголовок окна, строка меню, панели инструментов (стандартная и
форматирования) и рабочий лист или рабочая область документа (worksheet). Новый документ создается автоматически при
запуске Mathcad. В самой нижней части окна находится
строка состояния.
Помимо элементов управления, характерных для типичных
программ, Mathcad снабжен дополнительными средствами
для ввода и редактирования математических символов, одним из которых является
панель инструментов Math (Математика) С помощью этой,
а также ряда вспомогательных наборных палитр, удобно осуществлять ввод
элементов в документ.
Панель ресурсы позволяет пользователю получить доступ к информации по глобальной сети, используя собственный браузер.
Окно трассировки представлено ниже рабочей зоны и предназначено для проверки и отладки отдельных элементов документа.
Рисунок 1 Окно приложения MathCad 13
Строка меню располагается в самой верхней части окна MathCAD. Она содержит девять заголовков, щелчок мышью на каждом из которых приводит к появлению соответствующего меню с перечнем сгруппированных по действию команд:
- File (Файл) - команды, связанные с созданием, открытием, сохранением, пересылкой по электронной почте и распечаткой на принтере файлов с документами;
- Edit (Правка) - команды, относящиеся к правке текста (копирование, вставка, удаление фрагментов и т. п.);
- View (Вид) - команды, управляющие внешним видом документа в окне редактора MathCAD, а также команды, создающие файлы анимации;
- Insert (Вставка) - команды вставки различных объектов в документы;
-Format (Формат) - команды форматирования текста, формул и графиков;
- Math (Математика) - команды управления вычислительным процессом;
- Symbolics (Символика) - команды символьных вычислений;
-Window (Окно) - команды управления расположением окон с различными документами на экране;
-Help (Справка) - команды вызова контекстно-зависимой справочной информации, доступа к Центру Ресурсов, опции Совета Дня и сведений о версии программы
Панель Math (Математика) предназначена для вызова на экран еще девяти панелей, с помощью которых, собственно, и происходит вставка математических операций в документы. Перечислим назначение математических панелей:
- Calculator (Калькулятор) - служит для вставки основных математических операций, получила свое название из-за схожести набора кнопок с кнопками типичного калькулятора;
- Graph (График) - для вставки графиков;
- Matrix (Матрица) - для вставки матриц и матричных операторов;
- Evaluation (Выражения) - для вставки операторов управления вычислениями;
- Calculus (Вычисления) - для вставки операторов интегрирования, дифференцирования, суммирования;
- Boolean (Булевы операторы) - для вставки логических (булевых) операторов;
- Programming (Программирование) - для программирования средствами MathCAD;
- Greek (Греческие символы) - для вставки греческих символов;
- Symbolic (Символика) - для вставки символьных операторов.
Анализ данных в Мathcad
При проведении анализа данных в любой сфере важным аспектом являются возможности вычислительной системы:
1.
наличие
инструментария, позволяющего выполнить обработку данных и выполнения типовых
операций;
2.
наличие
средств представления данных полученных опытным путем
или путем сбора информации, а также полученных путем обработки данных в
информационной вычислительной системе;
3.
наличие
эффективных средств оформления результатов по утвержденным стандартам.
Всеми этими качествами обладает пакет прикладных программ (ППП) MathCad.
С момента появления электронных вычислительных машин (ЭВМ) и по сегодняшний день, для применения и внедрения информационных технологий в процесс обработки данных в различных (преимущественно технических) специальностях используют множество различных программных средств, которые позволяют выполнить подобные операции. На заре информатизации, когда ЭВМ того времени не обладали вычислительными мощностями, и по этой же причине из-за отсутствия эффективных прикладных программ, для проведения расчетов применяли инструментальные, языковые средства (языки программирования), которыми владели лишь узкий круг специалистов – программистов.
В 70-х, 80-х годах бурный рост микропроцессорных технологий и вместе с этим появление ЭВМ нового поколения породили создание программных средств предназначенных для обработки данных и проведения вычислений, которые не требовали от специалистов глубоких знаний в области программирования.
Одной из первых таких стала программа VisiCalc, составленная для компьютеров архитектуры Macintosh, авторами которой были студенты Гарвардского Университета. Программа была настолько проста, и одновременно с этим оригинальна, что получила популярность и распространение не только среди университетских работников. Основное ее преимущество это – реляционная таблица, где каждая ячейка имеет свое уникальное имя, которое можно использовать в качестве параметров функций, операндов в выражениях, а также есть возможность создавать структуру для обработки больших массивов информации – баз данных. Данная программа пополнялась новыми функциями, инструментами и со временем была переписана под платформу IBM под названием Lotus. После выхода третьей версии права на Lotus выкупила компания Microsoft, и включила в состав сначала операционной оболочки Windows, а затем в состав пакета Microsoft Office под названием MS Excel. Электронные таблицы MS Excel и сегодня очень популярны в первую очередь своей доступностью, идеальной интеграцией с популярной операционной системой (одна и та же компания - Microsoft), большое количество всевозможных функций, преимущественно для экономических специальностей и т.д. Но есть и свои недостатки. Основным интерфейсом программы является таблица, которая несколько отвлекает внимание пользователей от процесса решения поставленной задачи. Графические средства не рассчитаны на детальное отображение и проведение анализа расчетных данных, а больше похожи на средства визуализации и создание красочных презентаций.
С проблемой отображения и проведения анализа данных справилась компания SPSS Statistics, выпустив ППП Statistica. В этих электронных таблицах есть все необходимые средства, набор инструментов и функций. Но, все же Statistica остается электронными таблицами, где расчетные формулы, содержащиеся в ячейках видны лишь на панели ввода формул.
К 90-м годам в индустрии создания вычислительных пакетов произошло некоторое разделение. Одни фирмы больше внимания стали уделять созданию специализированных программ, другие занимались созданием визуально – ориентированных вычислительных пакетов, в которых выполнение расчетов на компьютере больше напоминало решение задачи в школьной тетради, с применением тех же традиционных символов, обозначений и т.д.
Для работы со специализированными вычислительными программами требовалась специальная подготовка, но и возможностей у них было гораздо больше. Одним из таких представителей стала программа MATLAB (матричная лаборатория), которая и по сегодняшний день является очень популярной среди специалистов широкого профиля. MATLAB можно причислить к инструментальным системам, поскольку в этой программе имеются все необходимые средства для создания программно – независимых приложений, способных работать в большинстве популярных операционных системах, а также MATLAB может обрабатывать директивы С++ и имеет свой интерпретирующий язык.Еще одна особенность, которая нравится не совсем пользователям –это то, что все данные в MATLAB представляются в виде массивов данных. Эта особенность представления данных идеально подходит для специалистов в области компьютерной графики.
Еще один яркий представитель специализированных вычислительных пакетов – это Maple компании Waterloo Maple Inc. Программа, которая выполняет только символьные (аналитические) вычисления. В ней содержится порядка 3000 встроенных функций, в которые заложены алгоритмы, работающие по всевозможным известным численным методам.
Из визуально – ориентированных вычислительных пакетов особо хочется отметить Mathematica и MathCad, которые не требуют специальной подготовки для работы и в связи с этим очень популярны в различных кругах от учащихся до специалистов и научных работников.
Отличительные достоинства продукта компании MathSoft ППП MathCad перед остальными подобными программами – это:
1.
Наличие
инструментов и средств, для создания выходных документов оформленных по всем
правилам и стандартам;
2.
Возможность
проводить всевозможные численные расчеты с различными типами данных. В том
числе и с размерными переменными (помимо вычислений производится сопоставление
единиц измерений во всех существующих системах измерения);
3.
Наряду
с численными расчетами имеются средства для проведения символьных
(аналитических) вычислений. (По соглашению компаний MathSoft и Waterloo Maple Inc начиная с 7 версии в MathCad включено ядро символьных
вычислений);
4.
Имеются
средства для экспорта и импорта данных между MathCad и другими популярными вычислительными пакетами.
Начиная с 10 версии совместно с программой выпускается
системный интегратор MathConnex
– идеальное средство для имитационного моделирования;
5.
Средства
визуализации данных особо не отличаются от остальных вычислительных ППП, но
имеются инструменты для создания анимации (видеороликов), которые используют
стандартную технологию кадрирования;
6.
Для
специалистов технических специальностей в MathCad входят средства позволяющие перевести в
цифровой формат графические изображения и звуковые потоки данных;
7.
Для
более опытных специалистов имеются инструкции (операторы), позволяющие
составить программный блок по необходимому вычислительному алгоритму;
8.
Большое
количество всевозможной справочной информации по программе, учебники, и самое удобное средство для начинающих
пользователей QuickSheets «шпаргалки»,
где в виде готовых примеров представлены огромное количество всевозможных
примеров;
9.
Из
приложений к программе можно выделить электронные книги
в которых собрана всевозможная справочная информация для специалистов различных
направлений.
В MathCad имеются все необходимые функции для проведения анализа данных, которые применяются в различных специальностях. Наиболее распространенные это - интерполяция, регрессионный анализ, предсказание (экстраполяция) поведение функций, сглаживание данных.
Интерполяция. На практике часто возникает ситуация, когда известен ряд значений функции, но описать эту функцию аналитическим выражением невозможно. Для это через имеющиеся точки нужно провести максимально соответствующую им кривую. При этом станет возможным нахождение значений функции в промежуточных точках, в которых измерения не проводились. Функции интерполяции соединяют точки экспериментальных данных кривыми разной степени гладкости. Кроме того, существует и многомерная интерполяция. В MathCad возможно проведение линейной, сплайн интерполяции, интерполяции многочленами, многомерной интерполяции.
Для проведения линейной интерполяции используется функция linterp(vx,vy,x), где vx, vy - векторы данных, которые должны быть упорядочены по возрастанию, x - аргумент, для которого возвращается значение y. Для проведения сплайн интерполяции сначала определяется вектор вторых производных в рассматриваемых точках (vs), затем вычисляется значение функции в точке x interp(vs,vx,vy,x).Для вычисления вектора vs используются функции: lspline(x,y) — строит сплайн с линейным продолжением; pspline(x,y) — строит сплайн параболой; cspline(x,y) — строит сплайн кубической параболой.
Рисунок
2 Интерполяция:f1 - сплайн с линейным продолжением; f2- интерполяции
параболой; f3 – сплайн кубической параболой |
На рисунке 2 представлены примеры проведения сплайн интерполяции.
Функция loess используется для проведения интерполяции многочленами второго порядка, наилучшим образом приближающих значения данных в векторах или матрицах (рисунок 3)
Рисунок 3 Интерполяция полиномом Лагранжа
Регрессия. Задачей регрессивного анализа является установление параметров описывающего экспериментальную зависимость выражения с учетом того, что точки получены экспериментальным путем или путем сбора информации с некоторой погрешностью.
Рисунок 4 Линейная регрессия по методу наименьших квадратов
В MathCad возможно проведение линейной регрессии с помощью функций intercept(x,y) — которая определяет значение отрезка отсекающего прямой на оси ОУ и slope(x,y) — находит величину коэффициента тангенса угла наклона относительно прямой ОХ. Обе эти функции находят точки прямой по методу наименьших квадратов. На рисунке 4 представлен пример проведения линейной регрессии.
Регрессия общего вида в MathCad проводится с помощью функции genfit, один из параметров которой – это набор функций, по которым производится регрессия общего вида (рисунок 5).
Рисунок 5 Регрессия общего вида
Полиномиальная регрессия производится в два этапа. С помощью функции regress, где в качестве последнего параметра вводится значение степени полинома, определяется вектор вторых производных в опорных точках, затем используется функция interp (рисунок 5).
Рисунок 6 Полиномиальная регрессия
Предсказание. На практике иногда возникает задача предсказания поведения функции «в будущем» или «прошлом». В MathCad это осуществляется с помощью функции predict на основании данных о ее поведении на каком то отрезке. В качестве основных параметров задается количество точек искомой функции по которым осуществляется предсказание и количество предсказываемых (предполагаемых) точек. На рисунке 7 представлен пример проведения экстраполяции функции на предполагаемом отрезке.
Рисунок 7 Экстраполяция функции: yi –известные значения
функции; pk– предсказанные значения функции
Сглаживание данных. Для сглаживания данных полученных опытным путем на практике применяются не регрессивные методы, а более мягкие и простые алгоритмы фильтрации.
В Mathcad имеются функции, позволяющие произвести сглаживание данных: medsmooth – функция которая реализует алгоритм «бегущих» медиан; ksmooth - функция реализует сглаживание на основании алгоритма Гаусса; supsmooth(x,y), - сглаживание по методу наименьших квадратов. Последняя функция лучше всего подходит для сглаживания сложных нестационарных сигналов. Примеры сглаживания данных представлены на рисунке 8.
Помимо традиционных функций для анализа данных в Mathcad имеются средства в виде встроенных функций и в виде дополнений - электронных книг (E-Books) которые дополняют набор функций для обработки данных. Это вейвлет - анализ данных, анализ сигналов, анализ изображений, интегральный анализ, анализ Фурье и т.д.
Все эти средства позволяют специалистам-аналитикам различных научных направлений быстро и эффективно, а главное, не отвлекаясь на освоение программы, для работы с которой не требуется специальной подготовки, провести требуемый анализ данных.
Рисунок 8 Сглаживание данных