Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Классификация средств компьютерной математики



Лекция №1.

Общий обзор систем компьютерной математики.

Вопросы:

1. Классификация средств компьютерной математики.

2. Структура систем компьютерной математики.

3. Пользовательский интерфейс математических систем.

4. Понятие об операторах и функциях.

Примерное содержание:

Классификация средств компьютерной математики.

Компьютерная математика – это совокупность методов и средств, обес­печивающих максимально комфортную и быструю подготовку алгоритмов и программ для решения математических задач любой сложности, при этом в подавляющем большинстве случаев с высокой степенью визуализации всех этапов решения. Эффективность использования всех этих систем, разумеет­ся, существенно зависит от производительности компьютера. Требования к компьютеру всегда оговариваются в руководствах пользователя, отметим, что, как правило, необходим процессор не хуже Pentium.

Средства компьютерной математики интенсивно внедряются в аппарат­ные средства современной вычислительной техники. Пожалуй, ярче всего это проявляется в развитии программируемых микрокалькуляторов. Даже калькуляторы начала 80-х годов удивляли знающих пользователей своими математическими способностями. Например, помещаемые в нагрудном кар­мане рубашки научные калькуляторы НР-15С запросто вычисляли сложные интегралы и производные функций, оперировали матрицами с действитель­ными и комплексными элементами, решали системы линейных и нелиней­ных уравнений и позволяли довольно просто реализовать практически лю­бые численные методы вычислений.

Новые поколения микрокалькуляторов освоили символьные вычисления и графику умеренного разрешения. Так, микрокалькуляторы HP-48S и НР-95 способны выполнять множество аналитических операций, есть даже микро­калькуляторы TI-89 и TI-92 с встроенной системой символьной ма­тематики класса Derive, довольно подробно описанной в данной книге. Эти и многие другие калькуляторы заметно продвинулись в части визуализации вычислений как при вводе данных, так и выводе их результатов. Экраны их дисплеев уже отображают таблицы, математические формулы и графики.

Современные микропроцессоры, математические сопроцессоры и графические процессоры видеоплат используют средст­ва компьютерной математики, связанные с обработкой массивов информации, ин­терполяцией и аппроксимацией функ­ций, дискретным преобразованием Фу­рье и т.д. К сожалению, доступ пользо­вателей к аппаратным средствам компь­ютерной математики практически за­крыт. В тоже время с позиций математи­ки в этих средствах нет ничего нового, что не было бы "прозрачно" реализова­но в современных программных средст­вах ЭВМ – в системах компьютерной математики. И вообще надо сказать, что программные средства математики развиваются намного быстрее аппаратных. Именно поэтому специфичные аппаратные реализации компьютерной математики далее мы рассматривать не будем.

Мы будем также считать, что наши возможности ограничены средства­ми наиболее распространенных и доступных персональных компьютеров (ПК). Узкоспециальные вопросы организации параллельных вычислений, специальных алгоритмов вычислений, используемых в аппаратной реализа­ции компьютеров (включая средства графических процессоров, команды муль­тимедиа-расширений ММХ и так далее), мы рассматривать не будем по уже отмеченным выше обстоятельствам.

В настоящее время компьютерные математические системы можно (дос­таточно условно) подразделить на 7 основных классов:

1. Системы для численных расчетов

2. Табличные процессоры

3. Матричные системы

4. Системы для статистических расчетов

5. Системы для специальных расчетов

6. Системы для аналитических расчетов (компьютерной алгебры)

7. Универсальные системы

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

Компьютерные математические системы как класс специализированных программных средств, рассчитанных на индивидуальную работу, возникли лишь в начале 80-х годов XX века. Этому способствовало зарождение в это же время индустрии персональных компьютеров (ПК), что открыло дорогу таким системам к массовому пользователю. Отдельные системы (например, MATLAB) были известны задолго этого, но они были реализованы лишь на больших ЭВМ и были доступными ограниченному кругу лиц. Эти системы представляли средства коллективного пользования, применение которых даже для решения простых задач требовало участия многих специалистов.

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

В настоящее время применяется множество математических программ – от простых калькуляторов, встроенных в операционные системы типа Win­dows, до универсальных систем, при полной инсталляции занимающих мно­гие сотни Мбайт памяти на жестком диске (MATLAB 5.2.1 и 5.3), и программ­ных комплексов, интегрирующих ряд таких программ. Здесь особо надо отметить системы класса Mathcad, новые версии которых содержат системный интегратор MathConnex, обеспечивающий прямую интеграцию Mathcad с почти полутора десятками программ разного класса.

Интересно и еще одно направление интеграции - объединение возмож­ностей текстовых редакторов (прежде всего в форматах Word и LaTEX) с математическими системами. К таким разработкам относятся Scientific NoteBook, MathOffice, Scientific Workplace и др. Подобные программные комплексы позволяют готовить электронные документы и книги высочайше­го качества с "живыми" примерами математических расчетов.

Помимо указанного деления на классы, правомерно деление компьютер­ных математических систем и по сложности решаемых ими задач. Так, мож­но выделить системы начального уровня (например, Derive и MuPAD), ори­ентированные на решение задач школьного образования и применение их студентами младших курсов вузов. К системам среднего класса можно отне­сти новую систему MuPAD и ставшую весьма популярной систему Mathcad. Высший класс представлен системами компьютерной алгебры Mathematica 2/3 и Maple V R3/R4/R5.

А такого "монстра" среди систем компьютерной математики, как мат­ричную систему MATLAB 5.0/5.3.1 с ее многочисленными пакетами расши­рения и трудно укладываемой в нашем сознании стоимостью, можно отне­сти к особо элитным и потому дорогим системам для избранных и весьма придирчивых пользователей. Это как бы "Мерседес-600" в мире математиче­ских систем. Тем не менее в этой книге вы ознакомитесь со всеми этими системами.

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

Рассмотрим особенности каждого из выше упомянутых классов математических систем.

Системы компьютерной математики для численных расчетов.

Задачи, решаемые системами для численных расчетов.

К наиболее распространенным средствам, предоставляемым системами для численных расчетов, относятся:

- арифметические и алгебраические операторы и функции;

- функции для работы с комплексными числами;

- тригонометрические и гиперболические функции;

- обратные тригонометрические и гиперболические функции;

- логические операторы и функции;

- векторные и матричные операторы и функции;

- средства для решения систем линейных алгебраических уравнений;

- специальные математические функции;

- средства арифметики степенных многочленов (полиномов);

- функции для нахождения комплексных корней многочленов;

- функции для решения систем нелинейных алгебраических уравнений;

- средства для решения систем дифференциальных уравнений;

- средства оптимизации функций и линейного программирования;

- средства одномерной и многомерной интерполяции;

- средства создания двухмерных и трехмерных графиков;

- типовые средства программирования.

Системами для численных расчетов являются:

· Встроенные калькуляторы Windows.

· Табличные процессоры.

· Математические системы Eureka и Mercury.

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

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

· Математические системы MathCad под MS-DOS.

MathCad 2.0-2.5 (под MS-DOS) фирмы MathSoft Inc. Эти версии зарождались как системы для численных расчетов с пользовательским интерфейсом и входным языком, позволяющим создавать документы в стиле блокнотов, записи в которых максимально приближены к обычному математическому языку. Такие записи в одном документе содержат текстовые комментарии, математические выражения, формулы, таблицы, результаты вычислений и рисунки.

· Системы класса MATLAB.

Системы Mathlab фирмы MathWork Inc. – матричные системы. У этих систем даже единичное числовое значение воспринимается как элемент матрицы размера 1´1. Практически все функции системы (включая элементарные) определены как матричные – способные обрабатывать массивы.

· Системы для статистических расчетов.

Особую разновидность математических систем образуют программы, предназначенные для проведения статистических расчетов: StatGraphics Plus, Statistica, SPSS, S-PLUS и др. Есть среди этих программ и рос­сийская программа STADIA, созданная в МГУ автором книги по ней Калаичевым А.П.. Интерфейс таких программ напоминает описанный выше интерфейс таблич­ного процессора Excel. Так, вначале пользователю предоставляется возмож­ность ввести данные в виде электронной таблицы или загрузить их в таблицу с накопителей информации.

Правила работы с электронными таблицами StatGraphics те же, что и для табличного процессора Excel. Большинство вычислений вы­полняется по правилу: ввел данные в таблицу, выделил нужные данные, ис­полнил команду нужного вида вычислений (например, регрессии, корреля­ции, обработки временных рядов и т.д.)

К числу нового поколения статистических программ можно отнести и программу S-PLUS, созданную фирмой MathSoft Inc. - разработчиком всемир­но известной универсальной программы Mathcad.

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

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

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

· Системы для специальных расчетов.

Имеется большое число программ, изначально ориентированных на не­которые специальные виды математических расчетов, например на решение систем нелинейных уравнений (ТК Solver), решение систем дифференциаль­ных уравнений (Dynamic Solver), построение графиков функций (Axum, MathPlot, Sigma Plot), выполнения нелинейной регрессии (DataFit Nonlinear Regression), моделирования электронных схем (MicroCAP 5, Electronics Work­bench, PSPice, Design Labs и др.) и т.д. Целое поколение матричных систем породила система MATLAB, но ни один из ее потомков не превзошел своего родителя - системы MATLAB 5.0/5.3.

Из программ этого класса, пожалуй, особый интерес представляют про­граммы для построения графиков. Здесь особо выделяется лучшая в этом классе программа - AXUM 5.0/6.0, созданная фирмой MathSoft Inc. и пре­красно интегрирующаяся с математической системой Mathcad.

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

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

К особому классу систем компьютерной математики относятся различ­ные системы математического моделирования. Например, для моделирова­ния блочно заданных произвольных систем и устройств служит очень мощ­ное приложение Simulink, вошедшее в новые версии ситемы MATLAB. Приятное впечатление оставляет анализатор динамических систем Dynamic Solver, соз­данный в университете страны басков (Испания) в департаменте теоретиче­ской физики.

Весьма впечатляют современные программы проектирования и модели­рования электронных схем, например MicroCAP, OrCAD, DesignLab, Elec­tronics Workbench и др. Они позволяют задавать в графическом виде элек­тронные схемы, после чего автоматически составляют и решают весьма гро­моздкие системы уравнений, описывающих их работу. Результаты моделиро­вания представляются в очень удобной графической форме в виде осцилло­грамм, спектрограмм, частотных характеристик и так далее.

К сожалению, используемые в таких программах математические мето­ды полностью скрыты от пользователя. Поэтому эти программные продукты специфического применения, являющиеся неотъемлемой частью арсенала компьютерной математики, в данную книгу не вошли.

Системы аналитических вычислений.

Системы аналитических вычислений (компьютерной алгебры) – это новейшее направление развития современной компьютерной математики. Основное их достоинство заключается в возможности выполнения вычисле­ний в аналитическом виде и в возможности проведения арифметических и многих иных вычислений практически с любой желаемой точностью и без ограничений по максимальным (минимальным) значениям чисел.

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

ЭВМ и программные системы, производящие символьные вычисления и способные выдавать результаты в виде аналитических формул, известны довольно давно. Лидирующую роль в разработке таких ЭВМ у нас принадле­жала школе советского академика В.М. Глушкова, где были созданы малые инженерные ЭВМ серии "Мир" с языком "Аналитик" для проведения сим­вольных вычислений. К сожалению, эта ветвь вычислительной техники в дальнейшем не была поддержана в должной мере, и лидерство перешло к зарубежным разработчикам таких средств.

За рубежом был создан ряд языков программирования и программных систем для символьных операций: muMATH, Macsyma, Reduce, Maple V, Mathematica и др., создавших реальную основу для развития компьютерной алгебры. Среди этих систем одной из самых простых и получивших массо­вое распространение была система muMATH, реализованная на многих мини- и микро-ЭВМ. Фирма Soft Warehouse Inc. (США) на основе этой системы в последние годы разработала малую математическую систему Derive Math­ematical Assistant (далее просто Derive).

Осознание роли компьютерной алгебры привело к тому, что ее средства со временем были включены в наиболее серьезные системы для численных расчетов (Mathcad и MATLAB), что превратило их в мощные и гибкие уни­версальные математические системы. Именно таким универсальным систе­мам посвящена большая часть материалов данной книги.

Отличительной чертой систем компьютерной алгебры является возмож­ность вычисления математических выражений в общем виде. Например, если попытаться выполнить вычисление выражения sin(x)2+cos(x)2 в общем виде – для любого х, к примеру, взять и поставить справа знак равенства, то при использовании обычных языков программирования или математических сис­тем для численных расчетов будет выведено сообщение об ошибке – напо­минание о том, что переменная х не определена. Это вполне естественно и совершенно тривиально. При использовании систем аналитических вычис­лений результатом будет, как и положено, единица. В этом принципиальное отличие данных систем от любых систем численного счета.

Разумеется, это тривиальный пример. Куда важнее, что они способны вычислять аналитически производные и интегралы, выполнять подстановки одних сложных выражений в другие, выполнять математические преобразо­вания и тому подобное. Словом выполнять "человеческую" работу.

Универсальные системы.

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

К универсальным системам относятся:

· Математические системы класса MathCad под Windows

· Математические системы Mathematica 2/3/4

· Математическая система Maple

· Математическая система Matlab





Дата публикования: 2015-07-22; Прочитано: 2158 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...