Развитие программных средств математических вычислений

Автор работы: Пользователь скрыл имя, 28 Декабря 2011 в 22:11, реферат

Описание работы

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

Файлы: 1 файл

реферат.docx

— 211.38 Кб (Скачать файл)

     Введение

     Современную жизнь невозможно представить без  использования информационных технологий. Любая отрасль знаний использует скорость и мощность компьютера. Так  исторически сложилось, что информатика  развивается неразрывно с другими  областями науки, удовлетворяя их нужды  и потребности. В частности, и  для решения математических задач  существует множество пакетов, как  узкоспециализированных, так и для  решения широкого класса проблем. Большинство  пакетов являются узкопрофильными: анализ статистических данных, решение  определенного типа уравнений. Только немногие способны решать широкий спектр задач. К таким относятся Mathematica, Mathcad, Maple, MathLab, Derive, Eureka. Эти системы содержат большой набор готовых к употреблению алгоритмов и программ, позволяющих решать задачи математического анализа, линейной алгебры, геометрии, дифференциальных уравнений. К настоящему моменту в лидерах оказались Mathematica и Maple из-за их действительно уникальных возможностей и MathCad, благодаря простоте в использовании и усвоении. Возможности этих трех пакетов отличаются не только между собой, но и между их версиями. Поэтому сравнивать эти пакеты достаточно сложно. Однако любая из программ не заменяет математического мышления. Прежде чем применять какую-либо формулу, нужно проанализировать выполнение условий ее применимости и, при необходимости, преобразовать задачу так, чтобы можно было ее употребить. Человек, использующий средства любого пакета, должен хорошо разбираться в математической постановке вопроса и владеть возможностями самой программы. Иначе можно получить совсем иной результат. Современные программные пакеты могут выполнять сложнейшие аналитические вычисления, но они не способны на гениальные догадки. 

       Mathematica  

     Пакет Mathematica, разработанный компанией Wolfram Reseach Inc., применяется при расчетах в современных научных исследованиях и получил широкую известность в научной и образовательной среде. Несмотря на свою направленность на серьезные математические вычисления и специфику языка, Mathematica проста в освоении и может использоваться довольно широкой категорией пользователей.

     Пакет состоит из двух частей – ядра, которое  производит вычисления, выполняя заданные команды, и интерфейсного процессора, который определяет внешнее оформление и характер взаимодействия с пользователем  и системой. В системах класса Mathematica ядро математических операций машинно-независимое. Поэтому оно позволяет переносить систему на различные компьютерные платформы. Для переноса системы на другую компьютерную платформу используется программный интерфейсный процессор Front End. Именно он определяет, какой вид имеет пользовательский интерфейс системы, то есть интерфейсные процессоры систем Mathematica для других платформ могут обладать своими нюансами. Ядро сделано достаточно компактным для того, чтобы можно было очень быстро вызвать из него любую функцию. Для расширения набора функций служат библиотека (Library) и набор пакетов расширения (Add-on Packages). Пакеты расширений готовятся на собственном языке программирования систем Mathematica и являются главным средством для развития возможностей системы и их адаптации к решению конкретных классов задач пользователя.

     Интерфейс пакета строится из нескольких базовых  понятий: тетрадь (Notebooks), ячейка (Cell) и палитра (Palletes). Тетрадью называется файл, с которым работает пользователь. В нем создаются и вычисляются формулы, строятся графики и таблицы. При желании, в тетради можно даже проиграть звуковой файл или фильм. Тетрадь состоит из ячеек. Все информация, которая есть в тетради, храниться в его ячейках. Как только в пустом новом файле набирается хотя бы один символ, Mathematica создаст для него ячейку. Все ячейки можно разделить на три типа: ячейки ввода – в них задаются команды (формулы), которые будут вычислены; ячейки результата, в которых выводятся результаты вычислений; другие ячейки – ячейки с текстом, заголовки и все остальное, что вводит пользователь и вычислять не надо. Необходимые числа, буквы, символы можно вводить как с клавиатуры с помощью комбинаций клавиш, так и с помощью многочисленных палитр. Палитры содержат окна с кнопками, которые выполняют различные действия: от добавления греческой буквы, до раскрытия скобок в алгебраическом выражение. Если возникают какие - то вопросы, то можно обратиться к встроенной электронной справочной системе Help, которая содержит очень качественное описание функций с примерами, а также учебник.

     Главным достоинством Mathematica является выполнение арифметических действий в символьном виде, то есть так, как это делает человек. При работе с дробями и корнями программа не приводит их в процессе вычислений к десятичному виду, а производит необходимые сокращения и преобразования в столбик, что позволяет избежать ошибок при округлении. Кроме того, Mathematica cодержит библиотеки и для численных вычислений. Например, функция Solve ищет решение в символьном виде, а NSolve в численном. Пакет обладает очень большим набором функций. Он способен решать упражнения из линейной алгебры (включая такие нетривиальные вещи как приведение квадратичных форм к каноническому виду, приведение линейного оператора к жордановой форме), математического анализа (вычислять определенные, неопределенные, криволинейные интегралы, пределы числовых и функциональных последовательностей), теории дифференциальных уравнений (как обыкновенных, так и в частных производных). Может совершать алгебраические и логические операции. По сути дела все алгоритмы, содержащиеся в курсе высшей математики технического вуза, заложены в память компьютерной системы Mathematica.

     В пакете Mathematica можно программировать. Отличие программы от других универсальных языков программирования высокого уровня в том, что, во – первых - работа проходит интерактивно, т.е. пользователь вводит команды и тут же видит на экране результат их выполнения. Однако можно пользоваться и программными вычислениями. Во – вторых, здесь не надо объявлять типы переменных, величины списков и матриц, управлять распределением памяти, что очень удобно. В – третьих, не надо придерживаться одного стиля программирования.

     Mathematica обладает очень большими графическими возможностями. Результаты можно отображать в виде диаграмм и графиков, 3D-графиков, контурных графиков, плотностных графиков, параметрических графиков, видеографиков, 3D-видеографиков, Log-графиков, полярных графиков, графиков неявных функций.

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

     Mathematica может читать данные, хранящиеся во всевозможных форматах: GIF, EPS, JPEG,AU,WAV,HDF. Кроме того, можно создавать готовые к размещению на сайте HTML-программы и графические файлы, сохранять выражения и целые тексты в форме ввода TeX.

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

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

     Maple 

     Программа Maple предоставляет пользователю удобную интеллектуальную среду для математических исследований любого уровня и пользуется особой популярностью в научной среде. Символьный анализатор программы Maple является наиболее сильной частью этого ПО.

     Пакет Maple состоит из ядра (процедур, написанных на языке С и хорошо оптимизированных), библиотеки, написанной на Maple-языке, и развитого внешнего интерфейса. Ядро выполняет большинство базовых операций, а библиотека содержит множество команд — процедур, выполняемых в режиме интерпретации.

     Интерфейс Maple основан на концепции рабочего поля (worksheet) или документа, содержащего строки ввода-вывода, текст, а также графику. Работа с пакетом происходит в режиме интерпретатора. В строке ввода пользователь задает команду, нажимает клавишу Enter и получает результат — строку (или строки) вывода либо сообщение об ошибочно введенной команде. Тут же выдается приглашение вводить новую команду и т.д. Рабочие окна (листы) системы Maple могут быть использованы не только как интерактивные среды для решения задач, но и как система для подготовки технических документов. Для облегчения документирования и организации результатов вычислений в системе имеются опции разбиения на параграфы и разделы, а также добавления гиперссылок. Гиперссылка является навигационным средством. Одним щелчком мыши по ней можно перейти к другой точке в пределах рабочего листа, к другому рабочему листу, к странице помощи, к рабочему листу на Web-сервере или к любой другой Web-странице. Также система Maple, подобно другим текстовым редакторам, поддерживает опцию закладок. В пакете имеются все возможности форматирования текста: шрифты, размер шрифта, начертание, цвет, выравнивание по центру, по левому, правому краю. Средства пакета позволяют даже создавать звук. Также можно организовывать презентации, публиковать документы в Интернете.

     Систему Maple можно использовать как очень мощный калькулятор для подсчетов по заданным формулам и как чрезвычайно сильный пакет для различного рода вычислений. Достоинство Maple - это способность выполнять арифметические действия в символьном виде. Maple поддерживает сотни специальных функций и чисел, встречающихся во многих областях математики, науки и техники. Программу можно использовать для решения задач дифференциального и интегрального исчисления, вычисления пределов, разложений в ряды, суммирования рядов, умножения, интегральных преобразований (таких как преобразование Лапласа, Z-преобразование, преобразование Меллина или Фурье), а также для исследования непрерывных или кусочно-непрерывных функций. Maple может вычислять пределы функций, как конечные, так и стремящиеся к бесконечности, а также распознает неопределенности в пределах. В этой системе можно решать множество обычных дифференциальных уравнений (ODE), а также дифференциальные уравнения в частных производных (PDE), в том числе задачи с начальными условиями (IVP) и задачи с граничными условиями (BVP). Одним из наиболее часто используемых в системе Maple пакетов программ является пакет линейной алгебры, содержащий мощный набор команд для работы с векторами и матрицами. Maple может находить собственные значения и собственные векторы операторов, вычислять криволинейные координаты, находить матричные нормы и вычислять множество различных типов разложения матриц. В Maple включены также пакеты подпрограмм для решения задач евклидовой и аналитической геометрии, теории чисел, теории вероятностей и математической статистики, комбинаторики, теории групп, численной аппроксимации и линейной оптимизации (симплекс-метод), а также задач финансовой математики и многих других. Для технических применений в Maple включены справочники физических констант и единицы физических величин с автоматическим пересчетом формул.

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

     При программировании система Maple использует процедурный язык 4-го поколения (4GL). Этот язык специально предназначен для быстрой разработки математических подпрограмм и пользовательских приложений. Синтаксис данного языка аналогичен синтаксису универсальных языков высокого уровня: C, Fortran, Basic и Pascal. Maple может генерировать код, совместимый с такими языками программирования, как Fortran, C, и с языком набора текста LaTeX. Одно из преимуществ этого свойства — способность обеспечивать доступ к специализированным числовым программам, максимально ускоряющим решение сложных задач. Например, используя систему Maple, можно разработать определенную математическую модель, а затем с ее помощью сгенерировать код на языке C, соответствующий этой модели.

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

     Недостаток -  специализированный язык записи операторов и программирования. 

     MathCad 

     Программа MathCad — это простой, но продвинутый редактор математических текстов с широкими возможностями символьных вычислений и очень простым интерфейсом. MathCad как такового языка программирования не имеет, движок символьных вычислений заимствован из пакета Maple. Все выражения записываются в естественной математической форме. Вычисления происходят в автоматическом режиме, по мере пролистывания документа (принцип живых страниц). Текст, формулы и графики можно свободно сочетать, передвигая их как выделенные штриховой рамкой объекты, и помещать их в произвольной точке экрана; при изменении хотя бы в одном из объектов последовательно пересчитываются все остальные данные. Кроме этого можно устанавливать метки табуляции, центрировать и выравнивать напечатанное, а также для наглядности выделять фрагменты текста и проверять орфографию, можно экспортировать содержимое рабочей области в Word в формате RTF. Пакет располагает широким набором панелей интерфейса, содержащих практически все известные в элементарной и высшей математике операторы и нотационные элементы формул.

     Пакет имеет расширенный Help: содержит справочник по основным математическим и физико-химическим формулам и константам, которые можно автоматически переносить в документ без опасения внести в них искажения, нередкие при ручной работе, множество иллюстраций, примеры решений конкретных задач. Также программа обладает функцией обучения использованию, целым рядом дополнительных модулей. Обновление этой программы происходит очень часто. Новые версии MathCad появляются практически раз в полгода, причем каждая из версий (6 / 7 / 8.0 / 8.1 / 2000 / 2001 и т.д.) появляется в трех изданиях: Student, Standard, Professional. Однако каждая новая версия не отличается от предыдущей коренной переработкой, так как это у пакетов Maple, Mathematica.

Информация о работе Развитие программных средств математических вычислений