- •Математические пакеты. Курс лекций Введение
- •1 Анализ состояния рынка математических пакетов
- •1.1 Цели и задачи математического моделирования
- •1.2 Принципы построения математических моделей
- •1.2.1 Основные этапы моделирования
- •1.2.2 Постановка задачи моделирования
- •1.2.3 Построение схемы модели, выделение основных частей и процессов
- •1.2.4 Математическое описание основных частей и процессов
- •1.2.5 Построение решения, связывающего изменяемые параметры и критерий оптимизации
- •1.2.6 Исследование решения на экстремум
- •1.3 Обзор прикладных пакетов математического моделирования
- •1.3.1 Пакеты общего назначения
- •1.3.2 Альтернативные пакеты
- •1.3.3 Специализированные пакеты
- •1.3.4 Узкоспециализированные пакеты
- •1.3.5 Пакеты статистического анализа данных
- •1.4 Применение математических пакетов в интернет технологиях
- •1.4.1 Проприетарные математические программы и пакеты в Интернете
- •1.4.2 Свободные кроссплатформенные математические программы и пакеты в Интернете
- •1.4.3 Математические программы и пакеты реализованные на языках программирования
- •1.4.4 Библиотеки алгоритмов
- •1.4.5 Математические порталы, универсальные библиотеки текстов программ и статей по математической тематике
- •1.4.6 Специализированные библиотеки текстов программ и статей по математической тематике
- •1.4.7 Обзор информационных ресурсов Интернета по математике
- •1.4.8 Поиск и просмотр математической литературы
- •1. Поиск и просмотр математической литературы.
- •1.4.9 Математические документы в Интернете
- •1.4.10 Языки разметки для создания электронных публикаций
- •1.Языки разметки для создания электронных публикаций.
- •1.4.11 Математические конференции в Интернете
- •2 Математические пакеты
- •2.1 Математический пакет MathCad
- •2.1.1 Основные возможности MathCad
- •2.1.2 Особенности интерфейса
- •2.1.3 Особенности при работе с графикой
- •2.1.4 Расширение функциональности Mathcad
- •2.1.5 Взаимодействие с другими программами
- •2.1.6 Использование компонентов
- •2.1.7 Комплектации
- •2.2 Математический пакет Mupad
- •2.3 Математический пакет MatLab
- •2.3.1 Язык MatLab
- •2.3.2 Ключевые возможности Matlab
- •2.3.3 Расширение функциональности Matlab. Библиотеки
- •2.3.4 Возможности использования некоторых библиотек Matlab
- •2.3.5 Математика и вычисления Matlab
- •2.3.6 Альтернативные пакеты. SciLab
- •2.3.7Альтернативные пакеты. Oktave
- •2.4 Математический пакет Maple
- •2.4.1 Интерфейс Maple
- •2.4.2 Вычисления в Maple
- •2.4.3 Графика в Maple
- •2.4.4 Специализированные приложения Maple
- •2.4.5 Программирование Maple
- •2.4.6 Интернет-совместимость Maple
- •2.4.7. Перспективы развития Maple
- •2.4.8 Альтернативные пакеты Maple
- •2.5 Пакет Mathematica
- •2.5.1 Альтернативные пакеты
- •2.6 Пакет для построения графиков и функций FlatGraph
- •3 Среда Scilab
- •3.1 Введение в среду Scilab
- •3.3 Основы работы в Scilab
- •3.3.1 Текстовые комментарии
- •3.3.2 Элементарные математические выражения
- •3.3.3 Переменные в Scilab
- •3.3.4 Системные переменные Scilab
- •3.4 Функции в Scilab
- •3.4.1 Элементарные математические функции
- •3.5 Контрольные вопросы
3.4 Функции в Scilab
Все функции, используемые в Scilab, можно разделить на два класса: •встроенные; • определенные пользователем.
В общем виде обращение к функции в Scilab имеет вид:
имя_переменной = имя_функции(переменная1 [,переменная2, ...])
где имя_переменной – переменная, в которую будут записаны результаты работы функции; этот параметр может отсутствовать, тогда значение, вычисленное функцией, будет присвоено системной переменной ans;
имя_функции – имя встроенной или ранее созданной пользователем функции;
переменная1, переменная2, ... – список аргументов функции.
3.4.1 Элементарные математические функции
Пакет Scilab снабжен достаточным количеством всевозможных встроенных функций, знакомство с которыми будет происходить в следующих разделах. Здесь приведем только элементарные математические функции, используемые чаще всего:
Рисунок 3.10 – Таблица применений математических функций
Пример вычисления значения выражения :
Функции, определенные пользователем
Мы уже упоминали о файлах-сценариях и даже создавали небольшую программу, которая решала конкретное квадратное уравнение. Но в эту программу невозможно было передать входные параметры, т.е. это был обычный список команд, воспринимаемый системой как единый оператор.
Функция, как правило, предназначена для неоднократного использования, она имеет входные параметры и не выполняется без их предварительного задания. Рассмотрим несколько способов создания функций в Scilab.
Первый способ – это применение оператора deff, который в общем виде можно записать так:
deff(’[имя1,...,имяN] =имя_функции(переменная_1,...,переменная_M)’, ’имя1=выражение1;...;имяN=выражениеN’)
где имя1,...,имяN – список выходных параметров, то есть переменных, которым будет присвоен конечный результат вычислений, имя_функции – имя с которым эта функция будет вызываться, переменная_1,...,переменная_M – входные параметры.
Далее приведен самый простой способ применения оператора deff. Здесь показано, как создать и применить функцию для вычисления выражения :
В следующем листинге приведен пример создания и применения функции, с помощью которой можно найти корни квадратного уравнения вида ax2 + bx + c = 0 по формулам :
Второй способ создания функции это применение конструкции вида:
function[имя1,...,имяN]=имя_функции(переменная_1,...,переменная_M) тело функции endfunction
где имя1,...,имяN – список выходных параметров, то есть переменных, которым будет присвоен конечный результат вычислений; имя_функции – имя с которым эта функция будет вызываться, переменная_1, ...,переменная_M – входные параметры.
Все имена переменных внутри функции, а также имена из списка входных и выходных параметров воспринимаются системой как локальные, т.е. считаются определенными только внутри функции.
Вообще говоря, функции в Scilab играют роль подпрограмм. Поэтому целесообразно набирать их тексты в редакторе и сохранять в виде отдельных файлов. Причем имя файла должно обязательно совпадать с именем функции. Расширение файлам-функциям обычно присваивают sci или sce .
Обращение к функции осуществляется так же, как и к любой другой встроенной функции системы, т.е. из командной строки. Однако функции, хранящиеся в отдельных файлах, должны быть предварительно загружены в систему, например, при помощи оператора exec(имя_файла) или командой главного меню File – Exec. . . , что, в общем, одно и то же.
В качестве примера рассмотрим следующую задачу:
Рассмотрим выводы:
Далее представлен список команд, реализующий описанный выше способ решения кубического уравнения:
Рисунок 3.11 – Пример решения кубического уравнения
