Сравнительный анализ систем компьютерной математики

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.05.2009
Размер файла 101,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

46

Курсовая работа

СРАВНИТЕЛЬНЫЙ АНАЛИЗ СИСТЕМ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

ГЛАВА 1. Mathcad

1.1 Переменные и константы

1.2 Векторы и матрицы

1.3 Операторы

1.4 Встроенные функции

1.5 Программирование

1.6 Решение уравнений

1.7 Символьные вычисления

1.8 Графики

1.9 Полярные графики

1.10 Графики поверхностей

ГЛАВА 2. Matlab

2.1 Операционная среда системы MATLAB

2.2 Массивы, матрицы и операции с ними

2.3 Математические функции и операции

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

2.5 Анализ и обработка данных

2.6 Графические команды и функции

2.7 Программирование в среде MATLAB

ГЛАВА 3. Mathematica

3.1 Mathematica как калькулятор

3.2 Палитры и кнопки

3.3 Вычислительная мощь системы Mathematica

3.4 Математические возможности системы Mathematica

3.5 Построение вычислений

3.6 Визуализация в системе Mathematica

3.7 Основной подход к описанию объектов

3.8 Mathematica как язык программирования

ГЛАВА 4. Сравнительный анализ. Вывод

ГЛАВА 5. Практическая часть

Список использованных источников

Приложение 1

Приложение 2

Приложение 3

Приложение 4

Приложение 5

Приложение 6

Приложение 7

Приложение 8

Приложение 9

ПРИЛОЖЕНИЕ 10

Введение

В наше время в связи с развитием информационных технологий появились так называемые системы компьютерной математики, или их ещё называют математические пакеты, которые облегчают выполнение различных математических задач, помогают проверить решение задачи с помощью компьютерной программы. Намного сокращается время выполнения задач различной сложности. Для сотен тысяч специалистов в различных отраслях промышленности, занятых инженерными и научными исследованиями, системы компьютерной математики обеспечили превосходную среду для организации вычислений. Поэтому знакомство с основами организации математических пакетов может быть полезно как специалистам, приступающим к освоению этой системы, так и студентам вузов по самым различным специальностям.Они имеют чрезвычайно широкий набор средств, переводящих сложные математические алгоритмы в программы, так называемые элементарные функции и огромное количество неэлементарных, алгебраические и логические операции.Большинство упражнений из курса высшей математики может быть решено с помощью всего лишь одной команды. Можно вычислять интегралы, решать дифференциальные уравнения, обыкновенные уравнения и системы линейных уравнений. Предоставлен широкий выбор работы с матрицами, векторами. Возможно построение двумерных и трёхмерных графиков. Существует несколько математических пакетов, таких как Mathcad, MATLAB, Mathematica, Maple, Statistica и другие. Но на примере рассмотрим три из них: Mathcad, MATLAB и Mathematica; каждый в отдельности - его особенности и интерфейс, а потом проведём сравнительный анализ между ними.

Глава 1. Mathcad

Mathcad - программное средство, среда для выполнения на компьютере разнообразных математических и технических расчетов, снабженная простым в освоении и в работе графическим интерфейсом, которая предоставляет пользователю инструменты для работы с формулами, числами, графиками и текстами. В среде Mathcad доступны более сотни операторов и логических функций, предназначенных для численного и символьного решения математических задач различной сложности. Меню в Mathcad не представляет собой ничего необычного: как и во многих других программах имеются различные панели инструментов, панель форматирования. Кроме того есть панель "Математика", которая включает в себя такие панели как "Калькулятор", "Графика", "Матрицы", "Вычисления", "Исчисление", "Логический", "Программирование", "Греческий" и "Символьный". Эти панели содержат различные символы, не набираемые с клавиатуры, а также функции.

1.1 Переменные и константы

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

Имена

Mathcad различает греческие и римские буквы.

Если использовать греческий символ вместо соответствующего римского в имени переменной или функции, Mathcad воспримет его как другое имя.

Буквенные индексы

Если поместить точку в имени переменной, Mathcad отобразит всё следующее за ней как нижний индекс. Можно использовать эти буквенные нижние индексы для создания переменных с именами подобными velinit и uair .

Предопределённые переменные

Mathcad содержит восемь переменных, значения которых определены сразу после запуска программы. Эти переменные называются предопределенными или встроенными переменными. Предопределенные переменные или имеют общепринятое значение, подобно p и e, или используются как внутренние переменные, управляющие работой Mathcad, подобно ORIGIN и TOL.

Можно управлять значениями TOL, ORIGIN, PRNPRECISION и PRNCOLWIDTH без необходимости явно определять их в рабочем документе.

Полный список предопределенных переменных Mathcad и их значений по умолчанию приведён ниже. См. «Таблица 1» («Приложение 1»).

Числа

Этот раздел описывает различные типы чисел, используемых Mathcad, и способы их записи в формулы.

Используемые числа

Mathcad интерпретирует всё, начинающееся цифрой, как число. Цифра может сопровождаться:

· другими цифрами,

· десятичной точкой,

· цифрами после десятичной точки,

· одной из букв h или o, для шестнадцатеричных и восьмеричных чисел, i или j для комплексных чисел.

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

Мнимые числа

Для ввода мнимого числа нужно вслед за его модулем ввести символ мнимой единицы i или j, например, 1i или 2.5j. Нельзя использовать i или j сами по себе для обозначения мнимой единицы.

1.2 Векторы и матрицы

Здесь описаны массивы в Mathcad. В то время как обычные переменные (скаляры) хранят одиночное значение, массивы хранят много значений. Как обычно принято в линейной алгебре, массивы, имеющие только один столбец, будут часто называться векторами, все прочие - матрицами.

Вычисления с массивами

Переменные могут представлять массивы так же, как скаляры. Определение переменной как массива во многом схоже с определением скаляра.

Например, если мы определили вектор v, Можно теперь использовать имя v вместо самого вектора в любом выражении.

Нижние индексы и верхние индексы

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

Вектор и элементы матрицы обычно нумеруются, начиная с нулевой строки и нулевого столбца.

Векторные и матричные операторы

Некоторые из операторов Mathcad имеют особые значения в применении к векторам и матрицам. Например, символ умножения означает просто умножение, когда применяется к двум числам, но он же означает скалярное произведение, когда применяется к векторам, и умножение матриц -- когда применяется к матрицам. Список векторных и матричных операторов приведён ниже. См. «Таблица 2» («Приложение 2»).

Векторные и матричные функции

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

Размеры и диапазон значений массива

В Mathcad есть несколько функций, которые возвращают информацию относительно размеров массива и диапазона его элементов: rows(A)- число строк в массиве A, cols(A) - число столбцов в массиве A, length(v) - число элементов в векторе v, max(A) - самый большой элемент в массиве A.

Специальные типы матриц

Можно использовать следующие функции, чтобы произвести от массива или скаляра матрицу специального типа или формы. Это функции diag (возвращает диагональную матрицу), rref (Ступенчатая форма матрицы) identity(n)(единичная матрица n x n) и другие функции.

Специальные характеристики матрицы

Можно также находить ранг матрицы: rank(A) и норму: norm1(А).

Формирование новых матриц из существующих

В Mathcad есть функции для объединения матриц вместе -- бок о бок, или одна над другой. Одна из них: stack (А, В) - массив, сформированный расположением A над B. В Mathcad также есть функция для извлечения подматрицы: submatrix (А, ir, jr, ic, jc) - Субматрица, состоящая из всех элементов, содержащихся в строках с ir по jc и столбцах с ic по jc.

1.3 Операторы

В Mathcad используются обычные операторы, подобные + и /, а также операторы, определенные для матриц, например, операторы транспонирования и нахождения детерминанта, и специальные операторы типа вычисления интегралов и производных.

Список операторов

Неполный список операторов Mathcad приведён ниже. См. «Таблица 3» («Приложение 3»). Большинство операторов можно ввести в рабочий документ, используя палитры операторов. Чтобы открыть палитру операторов, нажмите на нужную кнопку на полосе кнопок непосредственно под командами меню.

Все перечисленные в таблице операторы можно набирать с клавиатуры, можно найти на панели инструментов в меню Математика. Это панели Арифметика, Матанализ, Булево.

1.4 Встроенные функции

Здесь перечислены и описаны многие из встроенных функций Mathcad.

Функции, используемые для работы с векторами и матрицами, описаны в Пункте “Векторы и матрицы”.

Вставка встроенных функций

Чтобы вставить функцию в Mathcad, можно кликнуть на панели инструментов Вставить ->Функция.

Трансцендентные функции

Этот раздел описывает тригонометрические, гиперболические и показательные функции Mathcad вместе с обратными им.

Тригонометрические функции и обратные им. Тригонометрические функции Mathcad и обратные им определены для любого комплексного аргумента. Они также возвращают комплексные значения везде, где необходимо.

Вот некоторые из них: sin(z)- возвращает синус z, asin(z) - возвращает угол в радианах, чей синус z, sec(z)- возвращает 1/cos(z), секанс z. Остальные тригонометрические функции определяются аналогично.

Гиперболические функции

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

Одна из них - sinh (z) - возвращает гиперболический синус z.

Логарифмические и показательные функции

Логарифмические и показательные функции Mathcad могут использовать комплексный аргумент и возвращать комплексные значения: exp(z) -возвращает e в степени z, ln(z) - возвращает натуральный логарифм z,

log(z) - возвращает логарифм z по основанию 10.

Усечение и функции округления

Все эти функции извлекают какую-либо часть своего аргумента.

Функции Re, Im и arg извлекают соответствующую часть комплексного числа (вещественная, мнимая, и когда z представлен в форме reiq). Функции ceil и floor возвращают ближайшее целое число большее и меньшее аргумента соответственно. Эти функции могут быть использованы для создания функции, возвращающей дробную часть числа.

Функции сортировки

Mathcad содержит три функции для сортировки массивов и одну для обращения порядка их элементов:

sort(v) - возвращает элементы вектора v, отсортированные в порядке возрастания.

1.5 Программирование

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

Создание программ

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

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

Условные операторы

Обычно Mathcad выполняет операторы программы в порядке сверху вниз. Могут встретиться случаи, в которых какой-нибудь оператор нужно выполнить только в случае выполнения некоего условия. Этого можно добиться с помощью оператора “if ”.

Циклы

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

· Если заранее точно известно необходимое число выполнений цикла, то целесообразно использовать цикл типа for.

· Если цикл должен завершиться по выполнении некоторого условия, причем момент выполнения этого условия заранее не известен, то целесообразно использовать цикл типа while.

Программы в программах

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

· Один из операторов программы можно сделать, в свою очередь, программой.

· Можно определить программу где-нибудь в другом месте и вызывать ее из других программ так, как если бы она была подпрограммой.

· Можно определить функцию рекурсивным образом.

1.6 Решение уравнений

Здесь описано, как при помощи Mathcad решать уравнения и системы уравнений. Можно решать как одно уравнение с одним неизвестным, так и системы уравнений с несколькими неизвестными. Максимальное число уравнений и неизвестных в системе равно пятидесяти.

Решение одного уравнения

Для решения одного уравнения с одним неизвестным используется функция root(f(z), z) - возвращает значение z, при котором выражение или функция f(z) обращается в 0.

Функция root предназначена для решения одного уравнения с одним неизвестным.

Системы уравнений

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

Find (z1, z2, z3, . . .) - возвращает решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

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

1.7 Символьные вычисления

Здесь описываются символьные преобразования в Mathcad. Символьные преобразования описаны ниже. См. «Таблица 4» («Приложение 4»).

1.8 Графики

Графики в Mathcad являются и универсальными, и легкими в использовании. Чтобы создать график, щёлкните в месте, где нужно вставить график, выберите Декартов график из меню Графика и заполните пустые поля. Можно всячески форматировать графики, изменяя вид осей и начертания кривых и испольуя различные метки.

Вставка графика

Чтобы вставить график в Mathcad, можно кликнуть на панели инструментов «Графика».

Вообще графики строятся на основе имеющихся шаблонов. Первоначально необходимо задать функцию графика.

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

1.9 Полярные графики

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

Здесь также возможно редактирование графика и размещение нескольких графиков в одной области.

1.10 Графики поверхностей

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

Глава 2. MATLAB

MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками, существенно сокращая время, которое понадобилось бы для программирования на скалярных языках типа C или FORTRAN.

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

2.1 Операционная среда системы MATLAB

Операционная среда системы MATLAB - это множество интерфейсов, которые поддерживают связь этой системы с внешним миром. Это - диалог с пользователем через командную строку или графический интерфейс, просмотр рабочей области и путей доступа, редактор и отладчик М-файлов, работа с файлами и оболочкой DOS, экспорт и импорт данных, интерактивный доступ к справочной информации, динамическое взаимодействие с внешними системами Microsoft Word, Excel Microsoft Word, Excel и др.. Реализуются эти интерфейсы через командное окно, инструментальную панель, системы просмотра рабочей области и путей доступа, редактор/отладчик М-файлов, специальные меню и т.п.

Командное окно

Командное окно системы MATLAB содержит опции, которые можно посмотреть в «Таблице 5» («Приложение 5»).

Инструментальная панель

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

Эти операции включают:

· создание нового М-файла (New File);

· открытие существующего М-файла (Open File);

· копирование фрагмента (Copy);

· вставка фрагмента (Paste);

· просмотр рабочей области (Workspace Browser);

· текущая помощь (Help).

Редактор/отладчик М-файлов

В состав системы MATLAB входит редактор/отладчик М-файлов M-file Editor/Debugger, который может быть вызван из командной строки командой edit или edit <имя М-файла>.

2.2 Массивы, матрицы и операции с ними

Массивы являются основными объектами в системе MATLAB. Ниже описаны функции формирования массивов и матриц, операции над матрицами, специальные матрицы.

Формирование массивов специального вида

· ZEROS - формирование массива нулей

· ONES - формирование массива единиц

· EYE - формирование единичной матрицы

· CROSS - векторное произведение

Операции над матрицами

· DIAG - формирование или извлечение диагоналей матрицы

· TRIU - формирование верхнетреугольной матрицы (массива)

· FLIPUD - поворот матрицы относительно горизонтальной оси и другие.

Специальные матрицы

· MAGIC - магический квадрат

2.3 Математические функции и операции

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

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

Математические операции

· a+b - сложение

· a=b - оператор присваивания

· a.*b - поэлементное умножение

· a*b - матричное умножение

· a.^b - поэлементное возведение в степень

· a^b - матричное возведение в степень

· a>b - больше

· a>=b - больше или равно

· a~=b - неравно

· a==b - равно

· a&b - логическое И

· a|b - логическое ИЛИ

· ~a - логическое НЕ

· a.' - транспонирование

· a' - комплексно-сопряженное транспонирование

· b(a) - индексирование

Базовые функции

· ABS - абсолютное значение

· ANGLE - аргумент комплексного числа

· REAL, IMAG - действительная и мнимая части комплексного числа

· CEIL, FIX, FLOOR, ROUND - функции округления

Трансцендентные функции

· SQRT - квадратный корень

· EXP - экспоненциальная функция

· LOG - функция натурального логарифма

· LOG10 - функции логарифма

Тригонометрические функции

· SIN, SINH - функции синуса

· COS, COSH - функции косинуса

· TAN, TANH - функции тангенса

· COT, COTH - функции котангенса

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

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

Рассмотрим функции системы MATLAB, которые поддерживают работу с матрицами.

Характеристики матриц

· NORM - нормы векторов и матриц

· RANK - ранг матрицы

· DET - определитель матрицы

· RREF - треугольная форма матрицы

2.5 Анализ и обработка данных

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

Основные операции

· SUM, CUMSUM - суммирование элементов массива

· PROD, CUMPROD - произведение элементов массива

· SORT - сортировка элементов массива по возрастанию

· MAX - определение максимальных элементов массива

· MIN - определение минимальных элементов массива

Численное интегрирование

· TRAPZ - интегрирование методом трапеций

· QUAD, QUAD8 - вычисление интегралов методом квадратур

Интегрирование обыкновенных дифференциальных уравнений

· ODE23, ODE45 - решение задачи Коши для систем обыкновенных дифференциальных уравнений

Вычисление минимумов и нулей функции

· FMIN, FORTIONS - минимизация функции одной переменной

· FMINS - минимизация функции нескольких переменных

· FZERO - нахождение нулей функции одной переменной

· FPLOT - построение графиков функции одной переменной

2.6 Графические команды и функции

Начиная с версии 4.0, в состав системы MATLAB входит мощная графическая подсистема, которая поддерживает как средства визуализации двумерной и трехмерной графики на экран терминала, так и средства презентационной графики.

Элементарные графические функции системы MATLAB позволяют построить на экране следующие типы графиков: линейный, логарифмический, полярный.

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

Двумерные графики

· PLOT - график в линейном масштабе

· LOGLOG - график в логарифмическом масштабе

· SEMILOGX, SEMILOGY - график в полулогарифмическом масштабе

· POLAR - график в полярных координатах

Трехмерные графики

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

Значения элементов числового массива рассматриваются как z-координаты точек над плоскостью, определяемой координатами x и y. Возможно несколько способов соединения этих точек. Первый из них - это соединение точек в сечении (функция plot3), второй - построение сетчатых поверхностей (функции mesh и surf).

· PLOT3 - построение линий и точек в трехмерном пространстве

· MESH, MESHC, MESHZ - трехмерная сетчатая поверхность

· SURF, SURFC - затененная сетчатая поверхность

· ZOOM - управление масштабом графика

· COLORMAP - палитра цветов

Надписи и пояснения к графикам

· TITLE - заголовки для двух- и трехмерных графиков

· XLABEL, YLABEL, ZLABEL - обозначение осей

· TEXT - добавление к текущему графику текста

Специальная графика

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

· BAR - столбцовые диаграммы

· HIST - построение гистограммы

· STEM - дискретные графики

· STAIRS - ступенчатый график

· WATERFALL - трехмерная поверхность

2.7 Программирование в среде MATLAB

Программирование

Файлы, которые содержат коды языка MATLAB, называются M-файлами. Для создания M-файла используется текстовый редактор; вызову М-файла предшествует присваивание значений входным аргументам; результатом является значение выходной переменной. Таким образом, вся процедура включает две операции:

· Создать M-файл, используя текстовый редактор.

· Вызвать M-файл из командной строки или из другого M-файла:

Типы M-файлов. Существует два типа M-файлов: М-сценарии и М-функции с характеристиками, указанными в «Таблице 6» («Приложение 6»).

Структура M-файла.

М-файл, оформленный в виде функции, состоит из следующих компонентов:

· Строка определения функции

· Первая строка комментария

· Комментарий

· Тело функции

Создание М-файлов. M-сценарии. M-функции

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

М-сценарии

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

М-функции

М-функции являются M-файлами, которые допускают наличие входных и выходных аргументов. Они работают с переменными в пределах собственной рабочей области, отличной от рабочей области системы MATLAB.

Структура М-функции. M-функция состоит из:

· строки определения функции;

· первой строки комментария;

· собственно комментария;

· тела функции;

· строчных комментариев;

Каждая функция в системе MATLAB содержит строку определения функции, подобную приведенной.

Если функция имеет более одного выходного аргумента, список выходных аргументов помещается в квадратные скобки. Входные аргументы, если они присутствуют, помещаются в круглые скобки. Для отделения аргументов во входном и выходном списках применяются запятые.

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

Комментарий. Для M-файлов можно создать online-подсказку, вводя текст в одной или более строках комментария.

Тело функции. Тело функции содержит код языка MATLAB, который выполняет вычисления и присваивает значения выходным аргументам. Операторы в теле функции могут состоять из вызовов функций, программных конструкций для управления потоком команд, интерактивного ввода/вывода, вычислений, присваиваний, комментариев и пустых строк.

Глава 3. Mathematica

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

3.1 Mathematica как калькулятор

Можно использовать программу Mathematica просто как калькулятор: вводятся данные и Mathematica выводит результат.

Mathematica автоматически обрабатывает числа любого размера.

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

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

Решение уравнения в системе Mathematica. Корни уравнения находятся с помощью функции Solve. Корни уравнения есть функции, зависящие от параметра.

Вычисление интеграла происходит аналогично вычислениям в других

математических пакетах.

Можно использовать систему Mathematica для построения двумерных и трехмерных графиков функций.

График этой функции показан в «Рисунке 1» («Приложение 7»).

Можно воспользоваться большим количеством вычислительных возможностей системы Mathematica простым нажатием одной из кнопок в стандартных палитрах.

3.2 Палитры и кнопки

Палитры и кнопки реализуют простой и полностью настраиваемый "мышиный" (point-and-click) интерфейс системы Mathematica.

Mathematica поставляется с несколькими стандартными палитрами.

Часть палитры Basic Calculations показана в «Таблице 7» («Приложение 8»).

Палитры являются расширением представленной клавиатуры.

В палитре символ означает позицию, в которую нужно вставить какое-либо выражение: Log [],2, Exp[], и т. д.

Создать свою собственную палитру очень легко.

С помощью команды Create Table/Matrix/Palette в меню Input можно сделать свою палитру.

Можно создавать свои палитры для ввода любой функции или оператора, например Expand[], Factor[], Simplify[].

3.3 Вычислительная мощь системы Mathematica

Система Mathematica предоставляет большие вычислительные возможности, оставаясь при этом такой же простой в использовании, как и калькулятор.

Эта команда создает матрицу случайных чисел размера 100х100.

На большинстве компьютеров система Mathematica затрачивает меньше секунды на вычисление всех собственных значений этой матрицы и представление их модулей в виде графика, который показан на «Рисунке 2» («Приложение 9»).

Mathematica может оперировать с числами любого размера. На большинстве компьютеров вычисление точного значения 1000! в системе Mathematica занимает менее секунды. Mathematica легко справляется с алгебраическими преобразованиями, например разложение полинома на множители: команда Factor().

Система Mathematica использует изощренные алгоритмы для упрощения выражений: команда Simplify().

Во многих видах вычислений система Mathematica является мировым рекордсменом по скорости вычислений и объему обрабатываемой информации.

3.4 Математические возможности системы Mathematica

Система Mathematica объединяет в себе большой запас математических знаний и использует свои собственные алгоритмы.

В системе Mathematica реализованы сотни специальных функций, используемых в чистой и прикладной математике.

Система Mathematica может вычислять значения специальных функций с любыми параметрами и с любой точностью.

Mathematica может вычислять очень много разных типов интегралов.

Также система Mathematica умеет вычислять конечные и бесконечные суммы и произведения.

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

Встроенные алгоритмы системы Mathematica способны справиться с широким спектром математических задач.

3.5 Построение вычислений

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

Вычисление собственных чисел матрицы: команда Eigenvalues[{{},{}}].

Система Mathematica может вычислять собственные значения,даже если в матрице присутствуют символьные параметры.

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

3.6 Визуализация в системе Mathematica

Mathematica легко позволяет создавать великолепные изображения.

Эта команда рисует трехмерный параметрический график с автоматическим выбором большинства опций.

Сам график представлен на «Рисунке 3» («Приложение 10»).

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

Список примитивов, изображающих точку.

3.7 Основной подход к описанию объектов системы Mathematica

В основе системы Mathematica лежит идея, что все можно представить как символьное выражение.

Все символьные выражения записываются в единой форме: head[arg1,arg2,…].

Список элементов:

Алгебраическое выражение:

Уравнение:

Логическое выражение:

Команда:

График:

3.8 Mathematica как язык программирования

В систему Mathematica встроен очень гибкий и интуитивно понятный язык программирования.

Язык Mathematica поддерживает все основные современные методы программирования, а также предоставляет некоторые новые возможности.

Процедурное программирование

Многие операции автоматически распространяются на списки.

Эта команда объединяет вложенные списки.

Функциональное программирование

Команда является "чистой функцией" ("pure function"). Вместо символа подставляется аргумент.

Глава 4. Сравнительный анализ. Вывод

Сравнительный анализ систем компьютерной математики проведём в виде таблицы.

Критерий сравнения

Mathcad

MATLAB

Mathematica

Интерфейс

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

Три окна: командное окно, все переменные и их типы и окно подсказок. Есть строка приглашения, обозначается знаком ">>". В отличие от Mathcad все функции приходится вводить с клавиатуры.

Строка приглашения в отличие от MATLAB разделена на две области: ввода и вывода, которые составляют вместе область всего выражения. Область ввода можно редактировать. Также имеется палитра с греческими буквами, различными символами и панель матанализа.

Работа с массивами и матрицами

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

Аналогично Mathematica матрицы и вектора формируются при помощи списка элементов. Функции вводятся с клавиатуры.

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

Решение уравнений

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

Решает уравнения и системы уравнений функцией с различными параметрами.

Содержит несколько функций для решения уравнений и систем уравнений. Функции могут находить корни уравнений с параметром. Также имеется функция для особых решений.

Математические операторы

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

Здесь в отличие от Mathcad все операторы вводятся с клавиатуры в виде отдельных символов и функций. Дан относительно подробный список операторов.

Также, как и в MATLAB операторы приходится вводить с клавиатуры, но некоторые можно найти и на палитре инструментов.

Встроенные функции

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

Здесь в основном используются только функции, которые вводятся с клавиатуры.

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

Программирование

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

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

Можно создавать различные функции и оперировать с ними. Позволяет внутри одного блока ввода создавать программы. Результатом будет последнее вычисленное значение. В отличие от Mathcad, где программы пишутся "в столбик", здесь пишутся в строку.

Графические возможности

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

Функция графика создаётся из командной строки. Графики создаются на формах в определённой системе координат. В команде построения можно указывать свойства графика.

Функция, которая рисует график, заканчивается на "PLOT" в двухмерном случае, и "PLOT 3D" в трёхмерном случае. Чтобы построить график, нужно сначала задать функцию. Также можно и редактировать график.

Вывод

Как видно из сравнительного анализа, все математические пакеты сходны между собой. У них похожие принципы построения вычислений, графиков функций. И в Mathcad, и в MATLAB, и в Mathematica есть списки встроенных функций и операторов. Но имеются и отличия, например в интерфейсе, методах программирования. На данном уровне развития образования, я думаю, что без систем компьютерной математики обойтись нельзя. Иначе - зачем они тогда появились?

Глава 5. Практическая часть

Требовалось создать сайт с одноименным названием курсовой работы, а именно «Сравнительный анализ систем компьютерной математики».

Сайт создан с целью доведения информации о назначении систем компьютерной математики до всех желающих.

Сайт содержит следующие html страницы: 1 - Главная страница; 2 - Mathcad; 3 - MATLAB; 4 - Mathematica; 5 - Сравнительный анализ. Вывод.

Страницы Mathcad, MATLAB, Mathematica содержат в свою очередь тоже по несколько страниц.

Структура папок для хранения структуры сайта такова: создана папка «sweta», в которой содержатся все страницы и всё содержимое сайта. В данной папке помещена главная страница ind.htm и все страницы сайта.

Также в этой папке находится папка ind.files, в которой содержится таблица стилей mystyle.css, графические файлы, подключаемые к страницам сайта, и несколько папок, в которых в свою очередь также содержатся графические файлы, подключаемые к страницам сайта.

Файл ind.htm, как говорилось ранее, является главной страницей.

На этой странице в верхнем левом углу размещён лейбл, который непосредственно связан с названием сайта и иллюстрирует его в какой - то мере. Лейбл является необходимым звеном главной страницы сайта.

Рядом с лейблом находится собственно название сайта. В центре страницы расположена таблица, состоящая из двух столбцов: в первом находится меню, также оформленное в виде таблицы; в правом - часть повествования, то есть введение.

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

Внизу главной страницы идёт бегущая строка с электронным адресом создателя сайта.

Из главной страницы с помощью гиперссылок можно попасть на четыре страницы - это файлы ind1.htm - общее о Mathcad, ind2.htm - общее о MATLAB, ind3.htm - общее о Mathematica и ind4.htm - сравнительный анализ математических пакетов и вывод.

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

Все html - файлы, нумерующиеся с единицы, относятся к системе Mathcad, нумерующиеся с двойки - к MATLAB, с тройки - к системе Mathematica.

Общий фон сайта - светло-сиреневый, что облегчает чтение текста и благоразумно, если пользователь станет распечатывать web-страницу.

Шрифт - 13,5 размера, следовательно, читается хорошо.

Все страницы сайта создаются с использованием таблицы стилей, которая называется mystyle.css. Она включает в себя заголовки 1-4 уровней, пункты меню 1-4 уровней, гиперссылки, таблицы и ячейки таблиц, основной текст.

Таблица стилей подключается как внешний файл, ссылка на неё внедряется в документ при помощи тега <link>.

Для создания сайта были использованы теги, указанные ниже.

<html> - является контейнером, который заключает в себе всё содержимое web-страницы.

<head> - заголовок документа.

<title> - определяет заголовок документа.

<body> - предназначен для хранения содержания web-страницы, отображаемого в окне браузера.

<table> - служит контейнером для элементов, определяющих содержимое таблицы.

<tbody> - предназначен для хранения содержания таблицы.

<tr> - контейнер для создания строки таблицы.

<td> - предназначен для создания одной ячейки таблицы.

<img> - предназначен для отображения на web-странице изображений в графическом формате GIF, JPEG или PNG.

<marquee> - создает бегущую строку на странице.

<p> - определяет текстовый параграф.

<br> - устанавливает перевод строки в месте, где этот тег встречается.

<a> - предназначен для создания ссылок.

<font> - контейнер для изменения характеристик шрифта: размер, цвет, гарнитура.

<b> - устанавливает жирное начертание шрифта.

<ul> - устанавливает маркированный список.

<li> - определяет отдельный элемент списка.

<i> - устанавливает курсивное начертание шрифта.

<strong> - устанавливает жирное начертание шрифта.

<div> - позволяет выделить в структуре документа несколько разделов.

<pre> - текст визуализируется браузером точно так, как он визуализирован в исходном коде документа.

Список использованных источников

1. Гурский, Д. Вычисления в Mathcad / Д. Гурский. - Мн.: Новое знание, 2003.

2. Кирьянов, Д. MathCAD 11. Самоучитель / Д. Кирьянов. - С-Пб.: БХВ-Петербург, 2003.

3. Потемкин, В. Вычисления в среде MATLAB / В. Потемкин. - М.: Диалог-МИФИ, 2004.

4. Муравьев, В. Практическое введение в пакет MATHEMATICA / В. Муравьев, Д. Бурланков. - С-Пб.: Питер, 2001.

5. Дьяконов, В. Mathematica 4.0 с пакетами расширений / В. Дьяконов. - М.: Нолидж, 2000.

6. Мантуров, О. В. Mathematica 3.0 и ее роль в изучении математики / О. В. Мантуров. // Научно-практический журнал «Exponenta Pro. Математика в приложениях», 2004 - 10 мая.

7. Образовательный математический сайт Exponenta.Ru

8. Консультационный центр MATLAB компании Softline - сайт Matlab.ru

9. Соловьёв, А. М. Лекции по дисциплинам специализации: математические пакеты для группы 1 «В» ф-та МиИ / А. М. Соловьёв - Тула, 2005.

Приложение 1

Таблица 1 - Список предопределенных переменных в Mathcad

Переменная = значение по умолчанию

Определение и использование

p = 3.14159 ...

Пи. В численных расчетах Mathcad использует значение p с учётом 15 значащих цифр. В символьных вычислениях p сохраняет своё точное значение.

e = 2.71828 ...

Основание натуральных логарифмов. В численных расчетах Mathcad использует значение e с учётом 15 значащих цифр. В символьных вычислениях e сохраняет своё точное значение.

A = 10307

Бесконечность. В численных расчетах это заданное большое число. В символьных вычислениях -- бесконечность.

TOL = 103

Допускаемая погрешность для различных алгоритмов (интегрирования, решения уравнений и т.д.).

ORIGIN = 0

Начало массива. Определяет индекс первого элемента массива.

FRAME = 0

Используется для создания и просмотра анимаций. Когда анимации не используются, равна нулю.

Приложение 2

Таблица 2 - Векторные и матричные операторы Mathcad

Операция

Обозначение

Описание

Умножение матрицы на скаляр

Умножает каждый элемент A на скаляр z.

Матричное умножение

Возвращает произведение матриц A и B.

Умножение матрицы на вектор

Возвращает произведение матриц A и v.

Сложение векторов и матриц

A + B

Складывает соответствующие элементы A и B.

Степени матрицы.

Mn

n-ная степень квадратной матрицы M.

Длина вектора

|v|

Возвращает , где -- вектор, комплексно сопряженный к v.

Детерминант

|M|

Возвращает детерминант квадратной матрицы M.

Транспонирование

AT

Возвращает матрицу, чьи строки -- столбцы А, и чьи столбцы -- строки A.

Верхний индекс

A<n>

Извлекает n-ный столбец массива A.

Нижний индекс (вектора)

vn

n-ный элемент вектора.

Нижние индексы матрицы

Am,n

Элемент матрицы, находящийся в m-ном ряду и n-ной строке.

Приложение 3

Таблица 3 - Список операторов Mathcad

Операция

Обозначение

Описание

Нижний индекс

vn

Возвращает обозначенный элемент вектора.

Двойной индекс

Am,n

Возвращает обозначенный элемент матрицы.

Верхний индекс

An

Извлекает столбец с номером n из массива A. Возвращает вектор.

Факториал

n!

Возвращает значение, равное n(n-1)(n-2)...1 .

Степень

zw

Возводит z в степень w.

Изменение знака

-X

Умножает X на -1.

Суммирование элементов

Суммирует элементы вектора v. Возвращает скаляр.

Квадратный корень

Возвращает положительный квадратный корень для положительного z; главное значение для невещественных z.

Абсолютное значение

|z|

Возвращает .

Суммирование

Выполняет суммирование X по i = m, m=1,.n.

Приложение 4

Таблица 4 - Символьные преобразования в Mathcad

Название функции

Что делает

symplify

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

expand

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

factor

Разлагает на множители выбранное выражение, если всё выражение может быть записано в виде произведения сомножителей.

complex

Предписывает Mathcad выполнить символьное преобразование в комплексной области. Результат будет обычно в форме a + ib.

Приложение 5

Таблица 5 - Опции командного окна системы MATLAB

Опция

Назначение

New

Открыть в редакторе/отладчике новый файл Открыть графическое окно

Open

Открыть в редакторе/отладчике указанный файл

Open Selection

Открыть в редакторе/отладчике файл, выделенный в произвольной строке командного окна

Show Workspace

Вызов средства просмотра рабочей области Workspace Browser

Set Path

Вызов средства просмотра путей доступа Path Browser

Preferences

Выбор характеристик

Print Setup

Установка опций принтера

Print

Установка опций вывода на печать

Print Selection

Печать выделенного фрагмента

Приложение 6

Таблица 6 - Характеристики М-сценариев и М-функций

М-сценарий

М-функция

Не использует входных и выходных аргументов

Использует входные и выходные аргументы

Оперирует с данными из рабочей области

По умолчанию, внутренние переменные являются локальными по отношению к функции

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

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

Приложение 7

Рисунок 1 - График функции f(x)=Sin(x)+Sin(1.6x)

Приложение 8

Таблица 7 - Часть палитры Basic Calculations

Приложение 9

Рисунок 2 - Собственные значения матрицы и их модули в виде графика

Приложение 10

Рисунок 3 - Трехмерный параметрический график


Подобные документы

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

    контрольная работа [617,1 K], добавлен 08.01.2016

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

    контрольная работа [964,6 K], добавлен 06.03.2011

  • Решение линейных дифференциальных уравнений численными и символьными методами в рамках пакета компьютерной математики MathCAD. Сравнения результов решений и применение их при исследовании функционирования автоматических систем и электрических агрегатов.

    контрольная работа [51,5 K], добавлен 07.05.2009

  • Раскрытие понятия "системы компьютерной математики", история ее развития. Внутренняя архитектура и составляющие СКМ. Основные принципы работы системы Maple. Ее возможности для решения линейных и нелинейных уравнений и неравенств. Применение функции solve.

    курсовая работа [189,4 K], добавлен 16.09.2017

  • История появления интегрированных математических программных систем для научно-технических расчетов: Eureka, PC MatLAB, MathCAD, Maple, Mathematica. Интерфейс и возможности интегрированных систем для автоматизации математических расчетов класса MathCAD.

    курсовая работа [906,1 K], добавлен 04.06.2019

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

    презентация [3,5 M], добавлен 01.04.2014

  • Системы компьютерной математики: Mathcad - интегрированный пакет, включающий связанные компоненты (текстовый редактор, вычислительный процессор, символьный процессор). MatLab – система, построенная на представлении и применении матричных операций.

    контрольная работа [473,2 K], добавлен 09.01.2012

  • Классификация без обучения и кластерный анализ. Расстояние между кластерами. Функционалы качества разбиения. Иерархические кластерные процедуры. Дискриминантный анализ. Решение задач дискриминантного анализа в системе компьютерной математики Mathcad.

    курсовая работа [1,3 M], добавлен 17.09.2012

  • Сравнительный анализ автоматизированных систем и инструментальных компьютерных сред для разработки и проведения тестирования. Возможности офисных программ для компьютерной реализации тестовых заданий. Создание теста в Test Designer и шаблоне Office Word.

    курсовая работа [1,7 M], добавлен 26.07.2015

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

    отчет по практике [1,5 M], добавлен 11.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.