Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопрос 2 Лекция 1.doc
Скачиваний:
5
Добавлен:
09.11.2019
Размер:
189.44 Кб
Скачать

Теория чисел

  • Определение простого числа по его порядковому номеру, определение количества простых чисел, не превосходящих данное.

  • Дискретное преобразование Фурье

  • Разложение числа на простые множители, нахождение НОД и НОК.

Линейная алгебра

  • Операции с матрицами: сложение, умножение, нахождение обратной матрицы, умножение на вектор, получение определителя.

  • Поиск собственных значений и собственных векторов.

Графика и звук

  • Построение графиков функций, в том числе параметрических кривых и поверхностей.

  • Построение геометрических фигур: ломаных, кругов, прямоугольников, и т. д.

  • Воспроизведение звука, график которого задаётся аналитической функцией или набором точек.

  • Импорт и экспорт графики во многих растровых и векторных форматах, а также звука.

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

MAXIMA

Maxima — свободная система компьютерной алгебры, написана на языке Lisp. Maxima произошла от системы Macsyma, разрабатывавшейся в MIT с 1968 по 1982 гг. в рамках проекта Project MAC, финансируемого Департаментом энергии США (англ. United States Department of Energy) и другими государственными организациями. Вариант продукта (известный как DOE Macsyma) сопровождался профессором Уильямом Шелтером (англ. William F. Schelter) в Техасском Университете с 1982 г. до своей смерти в 2001 году. В 1998 г. Шелтер получил от Департамента энергии разрешение опубликовать исходный код DOE Macsyma под лицензией GPL, и в 2000 г. он создал проект Maxima на SourceForge.net для поддержания и развития DOE Macsyma, переименованного в Maxima.

(Слайд_4)

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

Имеет несколько графических интерфейсов пользователя и граф. Надстроек, XMaxima включен в поставку во многих ОС). Может работать в режиме командной строки (используя псевдографику.)

Существует также программа texmacs — бесплатная и свободная (GPL) кросплатформенная система редактирования научных текстов, с возможностью работы с внешними математическими пакетами такими как Maxima или Axiom с возможностью экспорта «выходных» документов в файлы ряда форматов, включая TeX/LaTeX and Html/Mathml.

MATLAB

MATLAB (сокращение от англ. «Matrix Laboratory») — термин, относящийся к пакету прикладных программ для решения задач технических вычислений, а также к используемому в этом пакете языку программирования. MATLAB используется более чем 1 000 000 инженерных и научных работников, и работает на большинстве современных операционных систем, включая GNU/Linux, Mac OS, Solaris и Microsoft Windows.

(Слайд_5)

MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико (англ. computer science department at the University of New Mexico). Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана. Вскоре новый язык распространился среди других университетов, и был с большим интересом встречен учёными, работающими в области прикладной математики. Поняв, что новый язык обладает большим коммерческим потенциалом, его переписали на C.

Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.

(Слайд_6)

Основной особенностью языка MATLAB является его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге думай векторно (англ. Think vectorized).

Применение

Математика и вычисления

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

Разработка алгоритмов

MATLAB предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования.

Визуализация данных

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

Внешние интерфейсы

Пакет MATLAB включает различные интерфейсы для получения доступа к внешним подпрограммам, написанным на других языках программирования.

COM

Пакет MATLAB предоставляет доступ к функциям, позволяющим создавать, манипулировать и удалять COM-объекты (как клиенты, так и сервера).

DDE

Пакет MATLAB содержит функции, которые позволяют ему получать доступ к другим приложениям среды Windows.

Веб-сервисы

В MATLAB существует возможность вызывать методы веб-сервисов. Специальная функция создаёт класс, основываясь на методах API веб-сервиса.

COM-порт

Интерфейс для последовательного порта пакета MATLAB обеспечивает прямой доступ к периферийным устройствам, таким как модемы, принтеры и научное оборудование, подключающееся к компьютеру через последовательный порт (COM-порт).

MEX-файлы

Пакет MATLAB включает интерфейс взаимодействия с внешними приложениями, написанными на языках C и Фортран.

DLL

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

SCILAB

Scilab — пакет научных программ для численных вычислений, предоставляющий мощное открытое окружение для инженерных и научных расчётов.

(Слайд_7)

С 1994 года распространяется в виде исходных кодов через интернет. Сейчас Scilab развивается Scilab Consortium, созданным в 2003 году. В нём сейчас 25 членов, в том числе Mandriva, INRIA и ENPC (Франция).

Scilab содержит сотни математических функций с возможностью добавления новых, написанных на различных языках (C, C++, Fortran …). Так же имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня.

Scilab был спроектирован так, чтобы быть открытой системой, где пользователи могут добавлять свои типы данных и операции над этими данными путем перегрузки.

(Слайд_8)

В системе доступно множество инструментов:

  • 2D и 3D графики, анимация

  • Линейная алгебра, разреженные матрицы (sparse matrices)

  • Полиномиальные и рациональные функции

  • Интерполяция, аппроксимация

  • Симуляция: решение ОДУ и ДУ

  • Scicos: гибрид системы моделирования динамических систем и симуляции

  • Дифференциальные и не дифференциальные оптимизации

  • Обработка сигналов

  • Параллельная работа

  • Статистика

  • Работа с СКА

  • Интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabVIEW

Scilab имеет схожий с MATLAB язык программирования, в составе имеется утилита, позволяющая конвертировать документы Matlab → Scilab.

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

Для численных расчетов используются библиотеки Lapack, LINPACK, ODEPACK , Atlas и другие.

В состав пакета также входит Scicos — инструмент для редактирования блочных диаграмм и симуляции (аналог simulink в пакете MATLAB). Имеется возможность совместной работы Scilab с программой LabVIEW.

Отличия от некоторых коммерческих программ:

  • Бесплатность

  • Маленький размер (13Мб против двухгигабайтного пакета MATLAB)

  • Возможность запуска в консоли без использования графического интерфейса. Это позволяет производить автоматизированные вычисления.

GAP

GAP (от англ. Groups, Algorithms, Programming) — свободно распространяемая на условиях лицензии GNU GPL кроссплатформенная система вычислительной дискретной математики и теории групп. Совместная разработка университетов (с 1986) Сент-Эндрюс (Шотландия), Аахен, Брауншвейг (Германия) и университета штата Колорадо (США). Возможности системы GAP можно расширить используя внешние пакеты и библиотеки, либо воспользовавшись паскале - подобным языком программирования.

(Слайд_9)

MATHCAD 

Mathcad — программа для выполнения и документации инженерных и научных расчётов. Появившись в 1986 году для платформы MS-DOS, Mathcad впервые среди программ подобного рода использовал наборную математическую нотацию, совмещённую с автоматической системой вычислений. Кроме того, впервые было реализовано автоматическое вычисление и проверка единиц измерения. Например, СИ. На сегодняшний день Mathcad включает некоторые возможности алгебраических систем для ЭВМ, но при этом сохраняет ориентацию на инженерные приложения. Изначально Mathcad был создан Алэном Рэздоу из Массачусетского технологического института (MIT), который впоследствии стал одним из основателей фирмы Mathsoft, ныне являющейся частью корпорации Parametric Technology.

(Слайд_10)

Рабочая область программы представляется как обыкновенный лист, на котором уравнения и выражения отображаются графически, а не в текстовом виде.

Основные возможности Mathcad:

  • Решение дифференциальных уравнений различными численными методами

  • Построение двух- и трёхмерных графиков функций

  • Использование греческого алфавита как в уравнениях, так и в тексте

  • Выполнение вычислений в символьном режиме

  • Выполнение операций с векторами и матрицами

  • Символьное решение систем уравнений

  • Аппроксимация кривых

  • Выполнение подпрограмм

  • Поиск корней многочленов и функций

  • Проведение статистических расчётов и работа с распределением вероятностей

  • Поиск собственных чисел и векторов

  • Вычисления с единицами измерения

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

Derive

При решении математических задач если требуется получить результат в символьной форме создано много мощных программ, рассмотренных ранее. Но все эти приложения работают на персональном компьютере, а что делать, если у Вас под рукой только карманный? Выход, конечно же, есть Derive.

Derive очень нетребователен к ресурсам комьютера, например Derive for Windows может работать на машине с 386 процессором и операционной оболочкой Windows 3.11 и умещается на дискете.

Основные возможности пакета символьных вычислений Derive:

  • упрощение выражений;

  • дифференцирование и интегрирование функций одной или нескольких переменных;

  • решение систем линейных уравнений;

  • решение задач матричной алгебры;

  • решение нелинейных уравнений;

  • решение дифференциальных уравнений;

  • разложение функции в ряд;

  • вычисление пределов;

  • вычисление сумм рядов;

  • построения графиков функций.

На данный момент существуют версии Derive под операционные системы MS-DOS и MS Windows 9x, карманный компьютер Pocket может эмулировать обе эти платформы.

Окно Derive после запуска будет выглядеть так:

Пример дифференцирования и интегрирования