Лекция 6. БАЗЫ ДАННЫХ (БД). СИСТЕМЫ УПРАВЛЕНИЯ БД
Общие положения
Цель любой информационной системы - обработка данных об объектах реального мира. В широком смысле слова база данных - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и в конечном счете автоматизации, например, предприятие, вуз и т.д.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы.
Структурирование– это введение соглашений о способах представления данных.
Неструктурированными называют данные, записанные, например, в текстовом файле.
Пользователями базы данных могут быть различные прикладные программы,программные комплексы, а также специалисты предметной области, выступающие в роли потребителей или источников данных, называемые конечными пользователями.
В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария - системы управления базами данных.
База данных (БД)- это поименованная совокупность структурированные данных, относящихся к определенной предметной области.
Система управления базами данных(СУБД) - это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Централизованный характер управления данными в базе данных предполагает необходимость существования некоторого лица (группы лиц), на которое возлагаются функции администрирования данными, хранимыми в базе.
Классификация баз данных
1) По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
2) По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым доступом).
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
· файл-сервер;
· клиент-сервер.
Файл-сервер.Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и темже данным производительность информационной системы падает. Пользователи могут создавать также на рабочих станциях локальные БД, которые используютсяими монопольно. Концепция файл-сервер условно отображена на рис. 15.3.
Клиент-сервер.В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождаетпоиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL. Концепция клиент-сервер условно изображена на рис.
Схема обработки информации в БД по принципу файл-сервер
Схема обработки информации в БД по принципу клиент-сервер
Структурные элементы базы данных
Понятие базы данных тесно связано с такими понятиямиструктурных элементов, как поле, запись, файл (таблица)
поле, - элементарная единица логической организации данных, которая соответствует неделимой единице информации - реквизиту. Для описания поля используются следующие характеристики:
и м я, например. Фамилия, Имя, Отчество, Дата рождения;
т и п, например, символьный, числовой, календарный;
д л и и а, например, 15 байт, причем будет определяться максимально возможнымколичеством символов
т о ч н о с т ь, для числовых данных, например два десятичных знака для отображения дробной части числа.
Запись- совокупность логически связанных полей. Экземпляр записи -
отдельная реализация записи, содержащая конкретные значения ее полей.
Файл(таблица) - совокупность экземпляров записей одной структуры.
Основные структурные элементы БД
В структуре записи файла указываются поля, значения которых являются ключами: первичными(ПК), которые идентифицируют экземпляр записи, и вторичными (ВК), которые выполняют роль поисковых или группировочных признаков (по значению вторичного ключа можно найти несколько записей).
ВИДЫ МОДЕЛЕЙ ДАННЫХ
Общие положения
Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности и операций манипулирования данными. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
Модель данных- совокупность структур данных и операций их обработки.
СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве [1].
Рассмотрим три основных типа моделей данных: иерархическую, сетевую и реляционную.
Иерархическая модель данных
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево), вид которого представлен на рис.
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел - это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рис., для записи С4 путь проходит через записи А и ВЗ.
Графическое изображение иерархической структуры БД
Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом,
На рис. изображена сетевая структура базы данных в виде графа.
Примером сложной сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС. Графическое изображение описанной в примере сетевой структуры, состоящей только из двух типов записей, показано на рис. Единственное отношение представляет собой сложную связь между записями в обоих направлениях.
Графическое изображение сетевой структуры
Реляционная модель данных
Понятие реляционный (англ. relation - отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
каждый элемент таблицы - один элемент данных;
все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
каждый столбец имеет уникальное имя; одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов может быть произвольным.
Реляционной таблицей можно представить информацию о студентах, обучающихся в вузе.
Пример реляционной таблицы
N личного дела | Фамилия | Имя | Отчество | Дата рождения | Группа |
Сергеев | Петр | Михайлович | 01.01.76 | ||
Петрова | Анна | Владимировна | 15.03.75 | ||
Анохин | Андрей | Борисович | 14.04.76 |
Отношения представлены в виде таблиц, строки которых соответствуют кортежам или записям, а столбцы - атрибутам отношений, доменам, полям.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ. В примере, показанном в табл., ключевым полем таблицы является "N личного дела".
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в структуру первой таблицы внешний ключ - ключ второй таблицы.
пример реляционной модели, построенной на основе отношений: СТУДЕНТ,СЕССИЯ, СТИПЕНДИЯ.
Таблицы СТУДЕНТ И СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность легко организовать связь между ними. Таблица СЕССИЯ имеет первичный ключ Номер и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей СТИПЕНДИЯ.
СУБД ACCESS
Большие массивы данных в определенном формате, но и обрабатывать их, представляя в удобном для пользователей виде. Access дает возможность также автоматизировать часто выполняемые операции (например, расчет заработной платы, учет материальных ценностей и т.п.). С помощью Access можно не только разрабатывать удобные формы ввода и просмотра данных, но и составлять сложные отчеты.
Access является приложением Windows, а поскольку и Windows и Access разработаны одной фирмой (Microsoft), они очень хорошо взаимодействуют друг с другом. СУБД Access работает под управлением Windows; таким образом, все преимущества Windows доступны в Access, например, вы можете вырезать, копировать и вставлять данные из любого приложения Windows в приложение Access и наоборот.
Access - это реляционная СУБД. Это означает, что с ее помощью можно работать одновременно с несколькими таблицами базы данных. Применение реляционной СУБД помогает упростить структуру данных и таким образом облегчить выполнение работы. Таблицу Access можно связать с данными, хранящимися на другом компьютере или на сервере, а также использовать таблицу, созданную в СУБД Paradox или Dbase. Данные Access очень просто комбинировать с данными Excel.
В СУБД Access предусмотрено много дополнительных сервисных возможностей. Мастера помогут вам создать таблицы, формы или отчеты из имеющихся заготовок, сделав за вас основную черновую работу. Выражения используются в Access, например, для проверки допустимости введенного значения. Макросы позволяют автоматизировать многие процессы без программирования, тогда как встроенный в Access язык VBA (Visual Basic for Applications) - специально разработанный компанией Microsoft диалект языка Basic для использования в приложениях Microsoft Office - дает возможность опытному пользователю программировать сложные процедуры обработки данных. Просматривая свою форму или отчет, вы сможете представить, как они будут выглядеть в распечатанном виде. И наконец, используя такие возможности языка программирования С, как функции и обращения к Windows API (Application Programming Interface - интерфейс прикладных программ Windows), можно написать подпрограмму для взаимодействия Access с другими приложениями - источниками данных.
В Microsoft Access добавлено множество новых средств, разработанных для облегчения работы в Интернет и создания приложений для Web. Для доступа к сети Интернет и использования преимуществ новых средств необходимы средства просмотра Web, например Microsoft Internet Explorer, а также модем. Пользователь имеет возможность непосредственно подключаться к узлам Microsoft Web из программ Office (в том числе и из Access) с помощью команды Microsoft на Webиз пункта меню
?. При этом можно, например, получить доступ к техническим ресурсам и загрузить общедоступные программы, не прерывая работу с Access.
Система Access содержит набор инструментов для управления базами данных, включающий конструкторы таблиц, форм, запросов и отчетов. Кроме того, Access можно рассматривать и как среду для разработки приложений. Используя макросы для автоматизации задач, вы можете создавать такие же мощные, ориентированные на пользователя приложения, как и приложения, созданные с помощью "полноценных" языков программирования, дополнять их кнопками, меню и диалоговыми окнами. Программируя на VBA, можно создавать программы, по мощности не уступающие самой Access. Более того, многие средства Access, например мастера и конструкторы, написаны на VBA. Мощность и гибкость системы Access делают ее сегодня одной из лучших программ для управления базами данных.
Пример проектирования БД в Access показан на рис.
Лекция 7. СИСТЕМЫ АВТОМАТИЗАЦИИ ИНЖЕНЕРНЫХ РАСЧЕТОВ
Это современные программные средства, которые сегодня не только успешно заменяют ученым и инженерам ручку с тетрадью, логарифмическую линейку, таблицы интегралов и другие математические справочники, но и позволяют во многих случаях обойтись без традиционного программирования прикладных задач, решая их в специально разработанных средах, позволяющих выполнять численные расчеты, аналитические преобразования, анализ данных и графическое представление результатов. Это направление прикладного программного обеспечения развито в мире чрезвычайно широко, и ниже представлены лишь несколько наиболее известных систем.
MathSoft. Системы Mathcad, S-PLUS, Axum Компания MathSoft ведущий производитель математического, научного и инженерного программного обеспечения. В России чрезвычайной популярностью пользуется пакет Mathcad, с помощью которого решают свои задачи ученые и инженеры, студенты и школьники. Mathcad позволяет, используя удобный графический интерфейс и приближенный к естественному математическому язык описания задач, автоматизировать численные расчеты и аналитические преобразования и наглядно представить результаты. Наряду с пакетом Mathcad, на сервере представлены и менее широко известные в нашей стране продукты: система S-PLUS для анализа данных, визуализации и моделирования; пакет StudyWorks, широко используемый в западных университетах студентами и преподавателями; система технической графики и анализа данных Axum. http://www.mathsoft.com/
Одной из основных областей применения ПК являются математические и научно- технические расчеты. Сложные вычислительные задачи, возникающие при моделировании технических устройств и процессов, можно разбить на ряд элементарных: вычисление интегралов, решение уравнений, решение дифференциальных уравнений и т. д. Для таких задач уже разработаны методы решения, созданы математические системы, доступные для изучения студентам младших курсов втузов.
Цель пособия - научить пользоваться простейшими методами вычислений с использованием современных информационных технологий. Наиболее подходящей для этой цели является одна из самых мощных и эффективных математических систем - MathCAD, которая занимает особое место среди множества таких систем (Matlab, Maple, Mathematica и др.).
MathCAD - это мощная и в то же время простая универсальная среда для решения задач в различных отраслях науки и техники, финансов и экономики, физики и астрономии, математики и статистики… MathCAD остается единственной системой, в которой описание решения математических задач задается с помощью привычных математических формул и знаков. MathCAD позволяет выполнять как численные, так и аналитические (символьные) вычисления, имеет чрезвычайно удобный математико- ориентированный интерфейс и прекрасные средства научной графики.
Система MathCAD существует в нескольких основных вариантах:
· MathCAD Standard - идеальная система для повседневных технических вычислений. Предназначена для массовой аудитории и широкого использования в учебном процессе;
· MathCAD Professional - промышленный стандарт прикладного использования математики в технических приложениях. Ориентирована на математиков и научных работников, проводящих сложные и трудоемкие расчеты.
· MathCAD Professional Academic - пакет программ для профессионального использования математического аппарата с электронными учебниками и ресурсами.
При создании Mathcad 11 основное внимание было обращено на увеличение скорости и мощности работы системы. Цель состояла в том, чтобы улучшить ядро Mathcad, расширить и улучшить удобства работы с Mathcad. Mathcad 11 предлагает более легкую обработку данных, улучшение редактирования документов, более глубокую интеграцию с другими программными средствами, расширение математических функциональных возможностей.
В новой версии:
· Расширены компоненты ввода-вывода для импорта и экспорта данных в виде строк и столбцов, а также возможности чтения-записи смешанных текстово-числовых файлов.
· Улучшена поддержка импорта / экспорта данных текста как строковых данных, обеспечена гарантия их целостности при передаче смешанных типов данных.
· Обеспечена более глубокая интеграция с Microsoft ® Excel; используя простые команды copy/paste
можно создавать и отображать смешанные данные непосредственно в форме матриц и таблиц.
· Улучшено редактирование страниц.
· Улучшена APPENDPRN-функция, которая создает файл если он не существует.
· Обеспечена новая поддержка чтения/записи для равномерных, произвольных и однородных файлов двоичного формата (READBIN и WRITEBIN), что дает пользователям большую гибкость в операциях импорта или экспорта данных, чем их преобразование в ASCII-коды.
· Обеспечена новая поддержка для прохождения строковых данных через UserEFI-интерфейс (функции, определенные пользователем/ DLL)
Улучшена математическая функциональность:
· На основе ODE-вычислительных блоков (для решения обыкновенных дифференциальных уравнений) MathCad 2001i, MathCad 11 теперь поддерживает PDE- вычислительные блоки (для решения дифференциальных уравнений в частных производных).
· Улучшены средства для поиска причин ошибок во фрагментах.
· Обеспечена новая поддержка для комплексных аргументов функций floor, ceil, round и trunc.
· Добавлены комплексные функции Бесселя и Ганкеля. Это будет полезно при решении сферических и цилиндрических задач в квантовой физике и электромагнетизме.
· Расширены возможности функции genfit, которая обеспечивает аппроксимацию кривых нелинейными функциями общего вида.
· Введена новая sinc функция для вычисления точных значений sin(x)/x в пределе при х, стремящемся к 0.
· Новый доступ к "зерновым" значениям в генераторах случайных чисел.
Введены новые средства преобразования:
· Улучшенный формат текста RTF позволяет вставлять фрагменты из документа MathCad в такие распространенные приложения как MS Word без дополнительного переформатирования форматирования.
· Обеспечено сохранение файлов в версиях 6, 7, 8, 2000, 2001, 2000i и 11.
· Улучшена поддержка протокола HTTP, которая позволяет открывать удаленные файлы MathCad,
размещенные в Web-сервере, с помощью команды File Open.
· Улучшен HTML-подобный формат для вставки в Internet страниц с колонтитулами, ссылками и картинками.
· Улучшенная поддержка HTML позволяет открывать документы MathCad через любой веб - браузер. Обеспечена возможность сохранять документы как Интернет-страницы.
Улучшены и расширены возможности редактирования :
· Введена новая многоуровневая система действий "Undo" и "Redo". Эта система оставила далеко позади все предыдущие версии. Теперь есть возможность отменять не только изменения в тексте, но и
изменения при форматировании. Теперь можно отменять удаление, вырезание, перемещение и вставку областей.
· Предусмотрена новая возможность "перетаскивать" фрагменты, используя стрелки клавиатуры.
· Введены новые инструменты меню, такие как вычислительные опции, проверка орфографии, анимация, защита документов, выявление ошибок.
· Пересмотрены кнопки и меню для более легкого доступа к наиболее часто используемым возможностям MathCad и доступа к наиболее часто используемым кнопкам.
· Введены новые Windows-подобные средства управления для создания документов. Это особенно полезно для менее опытных пользователей.
· Введена новая панель управления ресурсами для легкого доступа к справке и шаблонам документов.
· Введено новое старт-меню, которое обеспечивает прямой доступ к PDF-версии руководства пользователя.
·
Компания MathWorks, Inc. получила всемирную известность своим пакетом MATLAB, среди зарегистрированных пользователей которого более 2000 университетов, а общее число проданных копий превысило 400 000. Сервер содержит рассказ об истории развития разработки, возможностях современных версий, примеры применения в разных областях. Посетители сервера также смогут познакомиться с менее широко известной в России системой Simulink, расширяющей возможности MATLAB в плане математического моделирования. http://www.mathworks.com/
MatLAB - одна из старейших и тщательно проработанныхсистем автоматизации математических расчетов. Она была разработана Молером (C. B. Moler) и с конца 70-х годов широко использовалась на больших ЭВМ [11]. В начале 80-х годов Дж. Литл (John Little) из фирмы MathWork Inc. разработал версию системы PC MatLAB для ПК класса IBM PC, VAX и Mackintosh. В дальнейшем были созданы версии этой системы для рабочих станций Sun и многих других типов больших и малых ЭВМ. Таким образом система MatLAB превратилась в одну из самых распространенных и популярных систем автоматизации математических расчетов.
Зарождение системы MATLAB относится к концу 70-х годов, когда первая версия этой системы была использована в Университете Нью Мехико и Станфордском университете для преподавания курсов теории матриц, линейной алгебры и численного анализа. В это время активно разрабатывались пакеты прикладных программ по линейной алгебре LINPACK и EISPACK на языке FORTRAN, и авторы системы MATLAB искали способы использовать эти пакеты, не программируя на языке FORTRAN.
Сейчас возможности системы значительно превосходят возможности первоначальной версии матричной лаборатории Matrix Laboratory. Нынешний MATLAB - это высокоэффективный язык инженерных и научных вычислений. Он поддерживает математические вычисления, визуализацию научной графики и программирование с использованием легко осваиваемого операционного окружения, когда задачи и их решения могут быть представлены в нотации, близкой к математической. Наиболее известные области применения системы MATLAB:
· математика и вычисления;
· разработка алгоритмов;
· вычислительный эксперимент, имитационное моделирование, макетирование;
· анализ данных, исследование и визуализация результатов;
· научная и инженерная графика;
· разработка приложений, включая графический интерфейс пользователя.
MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками, существенно сокращая время, которое понадобилось бы для программирования на скалярных языках типа C или FORTRAN.
Версия MATLAB 5.3 - это последнее достижение разработчиков; она содержит существенные изменения и улучшения в каждом разделе, начиная от встроенных математических функций и новых конструкций программирования и заканчивая новыми структурами данных, объектно-ориентированным подходом, новыми средствами визуализации и графическим интерфейсом пользователя.
Фирма The MathWorks, Inc. поддерживает тесные связи с университетским миром и предлагает для образовательных версий значительные скидки. В настоящее время студенческая версия Student Edition of MATLAB ничем не отличается от коммерческой версии, но имеет невысокую цену и предназначена для студентов, работающих на персональном компьютере дома или в общежитии.
Одно из назначений математики - служить языком общения между учеными и инженерами. Матрицы, дифференциальные уравнения, массивы данных, графики - это общие объекты и конструкции, используемые как в прикладной математике, так и в системе MATLAB. Именно эта фундаментальная основа обеспечивает системе MATLAB непревзойденную мощь и доступность. Стоит прислушаться к следующему афористичному мнению: "Причина, по которой MATLAB столь полезен для обработки сигналов, состоит в том, что он не проектировался специально для этой цели, а создавался для математиков".
Система MATLAB - это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М- файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ (ППП), которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы.
В действительности ППП - это нечто большее, чем просто набор полезных функций. Часто это результат работы многих исследователей по всему миру, которые объединяются в зависимости от области применения - теория управления, обработка сигналов, идентификация и т. п. Именно поэтому пакеты прикладных программ - MATLAB Application Toolboxes, входящие в состав семейства продуктов MATLAB, позволяют находиться на уровне самых современных мировых достижений.
Система MatLAB неоднократно модернизировалась. Она оказала большое влияние на разработку ряда пакетов для выполнения матричных операций, расчета систем управления и др. (таких как CTRL C, MATRIXx и т.д.), в свою очередь вобрав в себя лучшие из их средств, накопленных за более чем 30-ти летнюю историю развития матричных методов вычислений на ЭВМ. MatLAB расширяемая система и ее легко приспособить к решению нужных Вам классов задач. Возможности ее весьма обширны, а по скорости выполнения задач система превосходит многие другие подобные системы. MatLAB не стоит применять для пустячных расчетов - система предназначена для достаточно серьезных расчетов. Это и определяет круг пользователей системой: инженеры - проектировщики и разработчики новых устройств, студенты и аспиранты, научные работники, физики и математики. Система применима в любой области науки и техники, хотя и содержит средства, особенно удобные для электро- и радиотехнических расчетов (операции с комплексными числами, матрицами, векторами и полиномами, обработка данных, анализ сигналов и цифровая фильтрация).
Стоимость новых версий системы MatLAB достигает 3000 $(США). Так что это одна из самых дорогих коммерческих математических систем. Высокая стоимость системы также свидетельствует о ее обширных возможностях и серьезности применений.
Своим названием "матричная лаборатория" (MATrix LABoratory) система обязана ориентации на матричные и векторные вычисления, которые выполняются в интерактивном режиме столь же просто, как и обычные алгебраические вычисления.
Сейчас широко применяется множество интегрированных систем и пакетов программ для автоматизации математических расчетов: Eureka, Asystant, Gauss, TK! Solver Plus, Derive, MathCAD и др. Возникает вопрос - какое место занимает среди них система MatLAB?
Прежде всего надо отметить, что эти системы основаны на принципиально различных подходах и базовых алгоритмах, хотя порою и решают казалось бы схожие задачи - например выполняют расчеты по формулам, ищут решения систем линейных и нелинейных уравнений, проводят минимизацию функций и т.д. Словом решают достаточно широкий круг задач разными методами. Например, система Eureka построена на основе алгоритма минимизации решений систем нелинейных уравнений, пакет Derive ориентирован на символьные операции, система MathCAD имеет входной язык, близкий к естественному языку математических вычислений и т.д.
Отличительная черта системы MatLAB - ее ориентация на векторные и матричные вычисления, которые находят весьма широкое применение в самых различных областях науки и техники. Обычно такие вычисления требуют подготовки специальных и достаточно сложных программ, которые ранее писались на языках высокого уровня.
Система MatLAB выполняет операции над векторами и матрицами даже в режиме прямых вычислений без какого либо программирования. Ею можно пользоваться как мощнейшим калькулятором, в котором наряду с обычными арифметическими и алгебраическими действиями могут использоваться такие сложные операции как инвертирование матрицы, вычисление ее собственных значений и векторов, решение систем линейных уравнений, вывод графиков двумерных и трехмерных функций и многое другое.
Но главная отличительная черта системы - это легкость ее модификации и адаптация к конкретным задачам пользователя. Пользователь может ввести в систему любую новую команду, оператор или функцию и пользоваться затем ими столь же просто, как и заведомо встроеннымми операторами или функциями. Новые определения в системе MatLab хранятся в виде файлов на диске, имеющих расширение .m. Это делает набор операторов и функций практически неограниченным.
В базовый набор слов системы входят спецзнаки, знаки арифметических и логических операций, арифметические, алгебраические, тригонометрические и некоторые специальные функции, функции быстрого преобразования Фурье и фильтрации, векторные и матричные функции, средства для работы с комплексными числами, операторы построения графиков в декартовой и полярной системах координат, трехмерных поверхностей и др. Словом, MatLAB предоставляет пользователю обширный набор готовых средств (примерно половина из них это внешние расширения в виде m- файлов).
MatLAB имеет серьезные средства для работы с сигналами, расчета и проектирования аналоговых и цифровых фильтров, построения их частотных, импульсных и переходных характеристик. Имеются и средства для спектрального анализа и синтеза, в частности реализации прямого и обратного быстрого преобразования Фурье. Это делает систему привлекательной для проектирования электронных устройств.
StatSoft. Системы STATISTICA Компания StatSoft специализируется в области программного обеспечения для решения задач статистики, анализа данных и графического представления результатов. На сервере вы сможете подробно познакомиться с серией продуктов под общим названием STATISTICA: пакеты STATISTICA for Windows, Quick STATISTICA, STATISTICA Industrial System, STATISTICA Neural Networks. Предоставляется возможность скопировать
демонстрационные версии программ, обновления и электронные учебные пособия, познакомиться с примерами применения пакетов и обзорами, опубликованными в прессе. http://www.statsoft.com/
STATISTICA - это универсальная интегрированная система, предназначенная для статистического анализа и визуализации данных, управления базами данных и разработки пользовательских приложений, содержащая широкий набор процедур анализа для применения в научных исследованиях, технике, бизнесе, а также специальные методы добычи данных.
Помимо общих статистических и графических средств в системе имеются специализированные модули, например, для проведения социологических или биомедицинских исследований, решения технических и, что очень важно, промышленных задач: карты контроля качества, анализ процессов и планирование эксперимента. Работа со всеми модулями происходит в рамках единого программного пакета, для которого можно выбирать один из нескольких предложенных интерфейсов пользователя.
С помощью реализованных в системе STATISTICA мощных языков программирования, снабженных специальными средствами поддержки, легко создаются законченные пользовательские решения и встраиваются в различные другие приложения или вычислительные среды. Очень трудно представить себе, что кому-то могут понадобиться абсолютно все статистические процедуры и методы визуализации, имеющиеся в системе STATISTICA, однако опыт многих людей, успешно работающих с пакетом, свидетельствует о том, что возможность доступа к новым, нетрадиционным методам анализа данных (а STATISTICA предоставляет такие возможности в полной мере) помогает находить новые способы проверки рабочих гипотез и исследования данных.
Waterloo Maple. Система Maple Канадская компания Waterloo Maple, Inc. является разработчиком широко известной системы Maple V, ориентированной на выполнение аналитических (символьных) преобразований, получивших название "компьютерной алгебры". Имея в руках такой инструмент, как Maple V, можно успешно выполнить многие университетские задания по математическому анализу и блестяще проводить преобразование сложных выражений, интегрирование и решение дифференциальных уравнений, даже забыв все технические приемы (постановку задачи и смысл преобразований, разумеется, необходимо понимать). На сервере вы найдете подробную информацию о Maple V, который имеет и специальную версию Maple V Student для студентов, а также о других разработках компании: MathView (система символьной алгебры с развитыми графическими возможностями), CRC Standard Math Interactive (обширный электронный справочник), The MathResource Interactive Math Dictionary (прекрасное пособие для изучения математики в вузе), Expressionist (система подготовки документов, содержащих математические формулы). http://www.maplesoft.com/
Программа Maple V компании Maple Waterloo используется для выполнения сложных аналитических и численных расчетов широкого класса математических задач (более 2700 встроенных функций).
Программа Maple V состоит из быстрого ядра, написанного на Си и содержащего основные математические функции и команды, а также большого количества библиотек, расширяющих ее возможности в различных областях математики. Библиотеки скомпонованы из подпрограмм, написанных на собственном языке Maple, специально предназначенном для создания программ символьных вычислений. Наиболее интересные возможности системы Maple V - редактирование и изменение этих подпрограмм, а также пополнение библиотек подпрограммами, разработанными для решения конкретных задач. Они уже появились в большом количестве, а лучшие из них вошли в Share-библиотеку пользователей, распространяемую вместе с пакетом Maple.
Программа уже превратилась в мощную вычислительную систему, позволяющую выполнять сложные алгебраические преобразования, в том числе над полем комплексных чисел, вычислять конечные и бесконечные суммы, произведения, пределы и интегралы, находить корни многочленов, решать аналитически и численно алгебраические (в том числе трансцендентные) системы уравнений и неравенств, а также системы обыкновенных дифференциальных уравнений и уравнений в частных производных. В Maple включены специализированные пакеты подпрограмм для решения задач аналитической геометрии, линейной и тензорной алгебры, теории чисел, комбинаторики, теории вероятностей и математической статистики, теории групп, численной аппроксимации и линейной оптимизации (симплекс-метод), финансовой математики, интегральных преобразований и т. п.
UniCalc®
решение вычислительных задач на основе аппарата недоопределенных моделей
UniCalc существенно расширяет класс прикладных проблем, доступных лучшим коммерческим решателям традиционного типа. Он эффективно решает прямые, обратные, регрессионные и оптимизационные задачи на системах, для которых зачастую отсутствуют стандартные численные методы. На многих задачах эффективность решения повышается в десятки раз по сравнению с лучшими известными алгоритмами. UniCalc обеспечивает следующие качественно новые возможности:
þ использование интервальных значений числовых параметров;
þ использование соотношений произвольной сложности (уравнения, неравенства, логические выражения);
þ реализацию для заданной модели процесса выделения пространства решения, обеспечивающего, в частности, функции обратного счета.
Специализированные версии технологии UniCalc могут найти широкое применение в научных, инженерных и коммерческих расчетах, в системах управления сложными объектами и технологическими процессами, САПР, в учебном процессе, системах двойного назначения и многих других областях приложений. Среди потенциальных областей использования данной технологии: вычислительные задачи повышенной сложности и особо большой размерности. Существует коммерческая версия решателя (русский и английский варианты) в MS DOS, в MS Windows и версиях UNIX для платформ Sun, IBM, HP, Silicon Graphics. Созданы демонстрационная версия в форме электронной таблицы и коммерческая версия вычислительного ядра, используемая в ряде специализированных продуктов и технологий, отнесенных к данному разделу. В группу проектов А включены завершение коммерческой версии UniCalc-3 и разработка гибридной версии UniCalc-4 решателя следующего поколения.
Дата добавления: 2016-11-02; просмотров: 1616;