На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
17 Июня 2024

Общедоступные математические САПР для персональных компьютеров класса IBM PC

Статья опубликована в выпуске журнала № 1 за 1993 год.
Аннотация:
Abstract:
Автор: Дьяконов В.П. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 18540
Версия для печати

Размер шрифта:       Шрифт:

Назначение математических САПР. Персональные компьютеры (ПК) особенно широко используются для подготовки текстовой документации, в издательских системах, в системах автоматизированного проектирования (САПР) для различных отраслей народного хозяйства, в бухгалтерском учете и т.д. В то же время, по-прежнему актуальным является их применение в той области, для которой ЭВМ создавались изначально - это математические расчеты. Сфера применения математических расчетов чрезвычайно широка - от обучения школьников и студентов до моделирования различных объектов и систем. Большое применение такие расчеты находят в инженерном проектировании и в научном творчестве [1-3].

Первые попытки внедрения машинных методов в математические АРМ были связаны с применением электронных таблиц и интегрированных программных систем общего назначения, таких как SuperCalc, Lotusl23, Microsoft Excel и др. [4,5]. Они показали неплохие результаты при решении прикладных финансово-экономических задач и при статистической обработке результатов научных экспериментов. В то же время, возможности этих систем в решении серьезных математических задач в области высшей математики, теоретической физики и электрорадиотехники оказались явно недостаточными. Поэтому потребовалась разработка ряда программных систем, специально ориентированных на автоматизацию проектирования и отладку алгоритмов и математических методов решения инженерных и научных задач.

Интегрированная система Eureka. Одной из наиболее популярных является система Eureka фирмы Borland [7]. Эта система основана на мощном и достаточно универсальном итерационном алгоритме минимизации погрешности решения систем нелинейных уравнений с комплексными переменными.

Как достоинство системы можно отметить простоту решения таких задач, как поиск корней явно и неявно представленных систем линейных и нелинейных уравнений, поиск корней полиномов, отыскание максимумов или минимумов функций одной и многих переменных, решение задач линейного и нелинейного программирования (с ограничениями и без них), вычисления по формулам (даже без их преобразований) и т.д. Система использует современный многооконный интерфейс с пользователем и ниспадающие меню (как в системе TurboPas-cal). Ввиду этого пользователь сразу оказывается в привычной и довольно комфортной среде.

На рисунке 1 представлен достаточно оригинальный пример применения системы Eureka для поиска сразу четырех минимумов много-экстремальной функции двух переменных.

В целом систему Eureka нельзя отнести к классу значимых математических САПР. В ней отсутствует аппарат матричных и векторных операций, нет программных циклов, графика слишком элементарна (можно выводить график лишь одной функции), точность некоторых расчетов (например вычисление корней полиномов) оставляет желать лучшего, нет операций вычисления функций Бесселя, быстрого преобразования Фурье (БПФ) и др.

Диалоговая математическая система MathCAD. Одной из самых мощных и удобных математических САПР, несомненно, является система MathCAD фирмы MathSoft Inc. [8]. Руководство по ее применению (с большим числом примеров) подготовлено в ГНЦ "КИТ" 19]. Главная отличительная черта системы -входной язык, предельно приближенный к естественному математическому языку, используемому при подготовке отчетов, статей и книг по математике, физике, электрорадиотехнике [10] и другим направлениям науки и техники.

Впечатляет и базовый набор средств системы. Он включает в себя: векторные и матричные операции, вычисление производных и интегралов, линейную и сплайновую аппроксимацию функций, БПФ, вычисление всех элементарных и многих специальных математических функций, прекрасные графические возможности, поиск корней и минимумов функций, работу с размерными физическими величинами и с табличными данными и т.д.

 

ОБТЕКАНИЕ КРЫЛА ВОЗДУШНЫМ ПОТОКОМ

Copyright (с) 1988 by MafhSoft, Inc. Доработка Дьяконова В.П. 1992 г.

Этот пример иллюстрирует применение аппарата комплексных функций для решения классической задачи аэродинамики — построения профиля крыла и линий воздушного потока, обтекающих крыло. Вычисления скрыты в правой невидимой части документа.

Параметры а и Ь можно задавать от 0 до 1 а параметр с от I до 5.

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

Графики можно менять по размеру и перемещать в любое место экрана, помечать кривые метками и т,д.

Рисунок 2 иллюстрирует решение типичной математической задачи в системе MathCAD -расчет воздушного потока, обтекающего крыло самолета.

В этом примере используется интересный прием - скрытие промежуточных вычислений в невидимой правой части экрана. При этом создается впечатление, что необходимые для вычислений средства встроены в систему.

В версии 2.50 добавлены две принципиально новые возможности - построение трехмерных поверхностей и импорт графических файлов из других графических систем (AutoCAD, PCAD,

TurboCAD). Рисунок 3 иллюстрирует задание функции двух переменных, создание двухмерной матрицы точек этой функции и построение ее поверхности (без удаления невидимых линий).

В версию 3.0 системы включен символьный процессор на базе известного пакета Maple фирмы Watrloo Maple Software [11]. Расширен набор втроенных функций: например, перечень дополнен функциями, вычисляющими собственные числа к вектора вещественных матриц. Система снабжена электронным справочником, содержащим множество математических формул, используемых в различных расчетах. Введены пиктограммы, облегчающие набор математических символов (но, согласно [11], требующие применения цветных дисплеев высокого разрешения).

К сожалению, невозможно расширение базовой системы MathCAD. Вместо этого могут готовиться пакеты применений по системе (Applications Packs). Фирма MathSoft Inc. наряду с самой системой (стоимостью около 500 $) выпускает десять пакетов применений, содержащих два-три десятка типовых задач (цена каждого пакета 99 $). Использование пакетов применений позволяет переориентировать систему под конкретные задачи пользователя, например математические, физические, статистические, электрорадиотехнические и др.}- Два крупных пакета применений (около 150 задач) по математике и электро-радиотех-нике подготовлены автором (С комментариями на русском языке). К их поставке приступает ГНЦ "КИТ" (г. Смоленск).

auto

f(x,y) := -sin [0.85 [ х2 + у2 ]]

i:= 0 „20 j := 0 ..20

х, := -1.5 + .15 I

у. :=• -1.5 + .15 j

ЗО-ГРАФИКА В СИСТЕМЕ MathCAD 2.50

Рис.3. Задание и построение трехмерной фигуры

Система Derive с символьными операциями. Несомненный приоритет в разработке инженерных ЭВМ, реализующих символьные операции принадлежит школе академика В.М. Глушкова, создавшей ЭВМ серии "Мир" с языком Аналитик. Эти и другие зарубежные работы в этой области привели К созданию нового научного направления - компьютерной алгебры. Был создан ряд математических программных систем для выполнения операций в символьном виде: REDUCE, MATHEMATICA, muMATH н др. [12]. Мы остановимся на системе Derive (фирма Soft Warehous Inc., USA), пришедшей на смену системы muMATH [13].

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

На рисунке 4 представлен вид переднего табло системы Derive с двумя примерами на символьные операции — вычисление неопределенного интеграла (нахождение первообразной) и разложение функции в ряд Тейлора.

Круг решаемых в символьном виде задач далеко не ограничивается этими примерами. Система Derive позволяет в символьном виде

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

Система MatLAB: мощь и простота. К довольно старым и потому прошедшим хорошую апробацию системам относится система MatLab, появившаяся еще в конце 70-х годов [14]. Начиная с 1984 г. фирма MathWork [пс стала выпускать версию PC-MatLab этой системы, работающую на ПК класса IBM PC, VAX и Mackintosh.

Можно отметить еще три более принципиальные особенности системы PC-MatLab, резко отличающие ее от системы MathCAD. Первая особенность - изначальная ориентация на векторные и матричные вычисления. Эти вычисления проводятся по умолчанию как в режиме непосредственных вычислений, так и по программе. Ниже дан пример на решение в режиме непосредственных вычислений системы линейных уравнений:

А =

 

3

1

1

2

1

-2

1

-1

1

пВ

= [4

131

п А = [3 1 1 ; 2 ! -2 ; 1 -1 1J % Ввод столбцов матрицы А % Система подтверждает ввод

% Ввод столбца свободных членов В

 

Рис.4. Математические операции в среде Derive

for k= 1:2:19

х = к + sin(k'l)/k;

y((k+l)/2,:) = х; end

в =

4 1 3

% Система подтверждает ввод

% Вычисление вектора неизвестных X

X =                                 % Система выдала значения

1.7000 -0.6000 0.1000 % значения неизвестных

п                                   % Конец вычислений и вывод

% знака готовности

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

п х = 0:0.1 *pi:4'pi % Задан вектор X чисел от 0 до 4*pi

% и шагом 0.1'pi (здесь pi = 3.141...) п y = sln(x)    % Задан вектор точек синусоиды

п plot(x,y,x,cos(x)) % Задано построение синусоиды % и косинусоиды

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

Вторая отличительная особенность - использование довольно развитого входного языка программирования. Он содержит такие типичные управляющие структуры, как циклы, операторы условных и безусловных переходов, процедуры и функции и др. Это означает, что на этом языке можно традиционными методами запрограммировать решение практически любых задач.

В то же время, язык программирования РС-MatLab является языком сверхвысокого уровня. В нем имеется множество операций, обычно требующих для своей реализации составления достаточно сложных программ. Это векторные и матричные операции, операции с полиномами и комплексными числами, нахождение собственных векторов и чисел матриц, численное дифференцирование и интегрирование, БПФ, ряд операций теории фильтров, многофункциональные графические операции и др. Поэтому, имея традиционные средства программирования, система MatLab резко облегчает сам процесс программирования.

Третье отличие — самое важное. Оно заключается в возможности практически неограниченного наращивания системы и ее адаптации к решению нужных пользователю задач. Реализация этой возможности базируется на словарной организации внешних расширений. Исходный словарь системы содержит около 150 слов и служебных символов. Однако пользователь может задавать почти неограниченное число внешних определений хранимых на жестком магнитном диске (т.е. файлов с расширением .т). Около 150 таких файлов включено в поставку системы, что заметно расширяет ее возможности. Внешние расширения используются, как и встроенные средства (т.е. не требуют объявлений о применении).

Для задания m-файлов можно использовать любой текстовой редактор, поддерживающий ASCII форматы файлов. Если вставить путь поиска редактора в пусковой bat-файл системы, то будет обеспечен вызов редактора из нее командой EDIT и возврат в систему после выхода из редактора.

О простоте программирования в системе MatLab дает представление следующий пример:

% Пример спектрального синтеза

echo off

clc

t = 0:.02:3.14;                   % Подготовка исходной

у = zeros(10,max{size(t))); % нулевой'матрицы у

х = zeros(t);                      % и нулевого вектора х

% Создание вектора х и % матрицы синтезируемой % функции у

plot(у{ 1:2:9,:)');                  % Построение графиков

titleCGannonic synthesis') % синтезируемой функции

clc                                                 % Построение

pause % Strike any key for plot.

% трехмерного

mesh(y);                                          % образа

title('3D surface for garmonic synthesis') % функция

clc

Эта программа проводит гармонический синтез меандра, вычисляет матрицу точек сложной трехмерной поверхности и строит ее график (рис.5)

Система MatLab ориентирована на ПК с математическим сопроцессором. Скорость вычисления в ней примерно на порядок выше, чем в системе MathCAD и это компенсирует такой "недостаток" системы, как традиционный способ программирования и почти ущербная простота управления с помощью простейших меню.

Некоторые другие системы и пакеты

Помимо этих довольно доступных систем имеется и ряд других: Asystent, Formula/one, MathGraf, Gauss, Point Five, Mathematica 2 и др. Есть и ряд узкоспециализированных пакетов (в работе [14] их описано 37), например по решению дифференциальных уравнений Desire, матричным операциям MATRIX, моделирования систем управления SIMNON и др.

Многие пакеты имеют возможность записи данных на диск и считывания их. Это позволяет расширить функции АРМ на их основе, превратив их в персональную контрольно-измерительную и вычислительную микросистему, способную обрабатывать данные сложных экспериментов и заменять множество сложных и дорогих контрольно-измерительных приборов.

3D surface for garmonic synthesis

Рис.5. График трехмерной поверхности

Из приведенного обзора следует, что математические АРМ должны иметь в своем составе, как правило, несколько универсальных математических систем (например MathCAD, MatLab, Derive и др.), библиотеки научных подпрограмм на языках высокого уровня и ряд специализированных математических пакетов. Необходимо включение в такие АРМ пакетов применения, расширяющих возможности универсальных систем.

По мере роста парка supperJTIK (на базе 386 и 486 процессоров) можно ожидать все большего распространения математических систем с символьными операциями. Одной из самых мощных среди них является система Mathe-matica 2.

Список литературы

1.      Кори Г., Корн Т. Справочник по математике. Дня научных работников и инженеров. М.: Наука. - 1973. - 832 с. .

2.      Дьяконов В.Л. Справочник по алгоритмам и програм мам на языке Бейсик. М. Нзуха. - 1989 г. - 240 с.

3.     Эберт К., Эдерер X. Компьютеры. Применение в ХИ' мин. - М.: Мир. - 19SS. - 416 с.

4.     Учи Г, Персональные компьютеры для научных работ ников. - М.: Мир, 1990. - 268 с.

5.     Микрокомпьютеры в физиология. / Под ред. П. Фрей зера. - М.: Мир. - 1990, 3S3 с.

6.     Карпов И.И., Назарова Т.Ю. Инженерные расчеты на персональном компьютере. - М-: Менатехтгк. - 1991.-42 с.

7.     Очков В.Ф., Хмелкж В,А. От микрокалькулятора к персональному компьютеру. - М,: Иэл-во МЭИ. - 1990, - 224 с,

8.     Дьяконов В.П. Автоматизация математических расче тов с помощью системы MathCAD. - М.: Мнр ПК, - N 8, 1991. -с. 43.

9.     Дьяконов В.П. Руководство ло применению системы MathCAD. - Смоленск. СФМЭИ. - 1991,-114 с.

10.       Дьяконов В.П. Расчет коэффициента гармоник усили телей с помощью системы MalhCAD. - М.: Радиотехника. -N1/2, J992.-c.102.

11.       Браун М. Система MalhCAD становится более гибкой. - М-: Мир ПК. - N 8, 1991. - с.48.

12.       Дэвенлорт Дж,, Сирэ И, Турнье Э. Компьютерная ал. 1-ебра. - М.: Мир, 1991. - 352 с,

13.       Лозинский Л.Д., Рутковская А.ГО. Работа с ггакетом Derive. - М.: ГАНГ им. И.М. Губкина. - 1992. - 89 с.

14.       Автоматизированное проектирование систем управле ния. / Под ред. М. Джамшидн и Ч. Дж. Хергета. - М.: Машиностроение. - 19S9. - 344 с.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=1180&lang=&lang=&like=1
Версия для печати
Статья опубликована в выпуске журнала № 1 за 1993 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: