Обзор математических пакетов




Литература

1. Дьяконов В. П. Mathcad в математике. Справочник. М.: Горячая линия - Телеком, 2007. 900 с.: ил

2. Дьяконов В. П. MATLAB 6/5.SP1/7.0+Simulink 5/6. Основы применения. М.: СОЛОН-Пресс, 2005. 800 с.: ил.

3. Дьяконов В. П. MATLAB и Simulink для радиоинженеров. М.: ДМК Пресс, 2011. 976 с.

4. Солонина А. и др. Основы цифровой обработки сигналов: курс лекций. СПб: БХВ -Петербург, 2011. 508 с.

5. Солонина А. и др. Цифровая обработка сигналов. Моделирование в Simulink: Учебное пособие. СПб: БХВ -Петербург, 2012. 432 с

6. Стефанова И. А. Изучение системы MATLAB+Simulink. Учебно-методическое пособие. Самара: ПГУТИ, 2015. – 92с.

7. Стефанова И. А. Применение системы MATLAB + Simulink в технике связи. Задания и методические указания к лабораторным работам по информатике. Самара: ПГУТИ, 2015. – 72с

8. Стефанова И. А. Методы обработки данных в системе Mathcad. Методическое пособие к лабораторным работам. Самара: ИУНП ПГУТИ, 2015. – 50с

9. Стефанова И. А. Программирование в системе Mathcad. Методическое пособие к лабораторным работам. Самара: ИУНП ПГУТИ, 2015. – 50с

10. Стефанова И. А. Моделирование устройств телекоммуникаций в системе MATLAB + Simulink. Учебное пособие. Самара: ИУНП ПГУТИ, 2016. – 148с

11. Стефанова И. А. Обработка данных и моделирование в математических пакетах. Учебно-методическое пособие по дисциплине «Информатика». Самара: ИУНП ПГУТИ, 2016. – 66с

 

Введение.

Обзор математических пакетов

0.1 Особенности

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

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

3. Желательно автоматизировать формирование таблиц.

4. Желательно автоматизировать формирование графиков.

5. Желательны графики в разных форматах (декартовы, полярные, объемные и др.).

6. Полезна анимация.

7. Хорошо иметь средства для моделирования процессов.

 

Подобными свойствами обладают специализированные математические пакеты - системы компьютерной математики (СКМ):

- MATLAB, // Паскаль + встроенная поддержка математики

- Maple, // Поддержка символьных преобразований

- Mathematic, // Компьютерная алгебра

- Mathcad. // Универсальный пакет.

 

Наибольшее распространение в России имеют пакеты Mathcad и MATLAB.

- Mathсad для математических расчетов.

- MATLAB для расчетов и моделирования. Содержит много встроенных пакетов расширения для работы в конкретных предметных областях, а также пакет имитационного моделирования Simulink.

0.2. Mathcad

Первая версия создана в 80-х годах в университете Стэнфорда (Stanford – США).

Современные версии для ПК готовит фирма Math Soft Application.

Web страница в Интернете - www.mathsoft.com

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

MathCAD = Mathematics Computer Assistance Design (Математическое конструирование с помощью компьютера).

 

Достоинства:

- Математический интерфейс. Программирование на языке математики. Для непрограммиста имеются формулы в привычном математическом начертании.

- Есть мощная поддержка графики (двумерной и трехмерной)

- Возможен импорт графики из других программ.

- Большое количество встроенных математических функций (сотни). Практически все основные математические формулы.

- Встроенные справочники по предметным областям.

- Возможна анимация.

- Символьная математика.

- Есть версии, в которых интерфейс на русском языке

Недостатки:

- Это интерпретатор.

- Возможности программирования ограничены. Они заложены в технику написания подпрограмм

 

0.3 Maple

Первая версия создана в 80-х годах в университете Waterloo (Канада) сначала для больших компьютеров. Современные версии для ПК готовит фирма Waterloo Maple.

Эта СКМ ориентирована на профессиональных математиков, позволяющая выполнять сложные математические расчеты. Однако ее основное ядро эффективно могут использовать все

 

Достоинства:

- Математический интерфейс. Программирование на языке математики

- Есть мощная поддержка графики (двумерная м трехмерная).

- Огромное количество встроенных математических функций (2700). Практически все известные математические формулы.

- Символьная математика. Основные аналитические преобразования.

Недостатки:

- Это интерпретатор.

- Возможности программирования ограничены.

- Поддержка в основном символьной математики.

 

0.4. Mathematical

Это конкурент системы Maple. Их возможности близки друг к другу.

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

Современные версии готовит фирма Wolfram Research Incorporated. (Название по фамилии главы фирмы, лондонского вундеркинда – Wolfram).

 

Достоинства:

- Математический интерфейс. Программирование на языке математики

- Есть мощная поддержка графики.

- Огромное количество встроенных математических функций (практически все).

- Символьная математика.

 

Недостатки:

- Это интерпретатор.

- Возможности программирования ограничены.

- Поддержка в основном символьной математики.

 

0.5 MATLAB

MATLAB = Matrix Laboratory (Лаборатория Матриц).

Первая версия создана в конце 70-х годов в Стэнфордском университете (Stanford – США) для преподавания теории матриц. Современные версии готовит фирма MathWorks.

Web страница в Интернете – www.mathworks.com

 

Достоинства:

- Матричная математика обеспечивает очень высокую скорость математических действий (примерно в 10 раз выше, чем Mathcad).

- Язык программирования близок к языкам Pascal, Delphi и Basic.

- Есть поддержка двумерной и трехмерной графики (в отдельном окне).

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

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

- Есть средства разработки графического пользовательского интерфейса.

- Есть встроенная система имитационного моделирования блочно организованных систем Simulink.

 

Недостаток – программирование не на языке математики (как в программировании).

 

СКМ содержит четыре группы компонент:

- продукты MATLAB, Toolboxes, продукты Simulink. Blocksets.

 

Mathcad

Первая версия создана в 80-х годах в университете Стэнфорда (Stanford – США).

Современные версии для ПК готовила фирма Math Soft Application.

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

 

Особенности:

- Математический интерфейс.

- Есть мощная поддержка графики.

- Возможен импорт графики из других программ.

- Большое количество встроенных математических функций (сотни).

- Встроенные справочники по предметным областям.

- Возможна анимация.

- Символьная математика.

 

Достоинство – программирование на языке математики.

Недостатки:

- Это интерпретатор.

- Возможности программирования ограничены.

 

1.1 Mathcad, основы

 

Mathcad= Math ematics C omputer A ssistant D esign –

математическое конструирование с помощью компьютеров

 

Версии пакета:

- Базовая; //для начинающих

- Стандартная; //для большинства пользователей

- Профессиональная. //для математиков

 

Возможности Mathcad:

1. Реализованы численные и символьные математические операции. Например, 2.52+sin300 и A×x2+B×x+С=D.

2. Всегда используется привычный способ математической записи (естественная запись математических выражений и результатов их вычислений).

3. То, что вы видите с листа, то получите в рабочем поле и в твердой копии.

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

5. Заполнение шаблонов - средство упрощения создания объектов (графика, матрицы и др.) с местами заполнения.

6. Шпаргалки (Quick Sheets) - совокупность часто используемых процедур. Их можно переносить в свой документ.

7. Можно использовать, как калькулятор. Основное назначение – сложная математика.

 

1.2. Структура окна программы

Традиционный интерфейс Windows.

Окно в порядке сверху вниз содержит: заголовок с именем документа,

Menu Bar - главное меню, Tool Bar - панель инструментов,

Format Bar - панель форматирования, Math Palette – палитра математики,

рабочее поле – окно редактирования, статусную строку.

Menu Bar – главное меню содержит строку с названиями пунктов, объединяющих операции определенного функционально назначения.

Tool Bar – Стандартная панель инструментов содержит кнопки для быстрого выполнения операций. Кнопки имеют вид, подсказывающий действие. Имеются всплывающие окна – подсказки, краткое описание операции на английском языке.

Format Bar – панель Форматирования содержит кнопки для быстрого выполнения операций. Кнопки имеют вид, подсказывающий действие. Панель содержит кнопки списков со стрелкой выбора u. Используется при работе с текстовыми областями.

Math Palette – палитры математики

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

1 2 3 4 5 6 7 8 9

Палитры: 1. Калькулятор, 2. Графики, 3. Векторы и матрицы, 4. Вычисление, 5. Мат. анализ, 6. Булева алгебра, 7. Программирование, 8. Греческие символы, 9. Символика.

1.3. Содержание документа

Worksheet – название документа в Mathcad. При сохранении документ получает расширение *.mcd (*.xmcd).

Документ содержит области трех типов:

1. Вычисляемые - формулы.

2. Текстовые.

3. Графики.

 

Области можно:

1. Размещать в произвольном порядке.

2. Удалять, перемещать, копировать.

3. Выравнивать, разделять,

4. Блокировать (запретить изменение).

Блоки могут располагаться, как угодно. Так как Mathcad использует интерпретатор высокого уровня, то блоки выполняются слева направо и сверху вниз. Единственное требование - в каждом блоке должны быть ссылки на уже определенные величины. Блоки не должны взаимно перекрываться.

Редакторы в Mathcad

Система Mathcad включает в себя 3 редактора:

- Формульный

- Текстовый

- Графический.

 

Для работы в редакторах имеются 3 средства редактирования:

1. Крестообразный курсор (визир) указывает место, с которого можно начинать набор формулы. Может появляться в свободном пространстве между областями.

2. Маркер ввода. Используется для ввода символов в любой области. Имеет вид вертикальной черты.

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

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

2.1. Формульный редактор

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

1. выделяющей рамки,

2. правил старшинства операций,

3. правил ввода знаменателей,

4. правил ввода показателей степеней,

5. правил добавления скобок.

Учет выделяющей рамки

 

Например, при клавиатурном наборе выражения x:2/3 «пробел»+4/5 будет получено

Автоматическое добавление скобок

Например, при клавиатурном наборе х=2+ 3 «пробел»*5 будет получено

x:=(2+3)×5

 

Для запуска формульного редактора нужно щелкнуть мышью в любом месте экрана. Там появится визир. И можно набирать выражение или формулу.

 

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

 

 

необходимо одновременно нажать клавиши Ctrl + Shift +?.

После заполнения шаблона можно, например, получить

 
 

 

 


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

 

После заполнения шаблона получим:

 

 

2.2. Текстовый редактор

Применяется для создания текстовых областей.

Для активизации текстового редактора возможны два способа:

1. Из пункта Вставка главного меню выбрать опцию Регион текста/Text Region.

2. В позиции визира ввести символ “.

Для ввода символов Кириллицы в текстовую область:

- изменить раскладку клавиатуры с En на Ru;

- ввести текст символами Кириллицы.

 

Для вставки в текст формулы нужно:

1. Установить маркер ввода в нужную часть текста.

2. Выбрать в пункте Вставка главного меню опцию Регион формул/Math Region

3. В появившемся шаблоне ввести формулу.

 

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

Есть возможность менять вид текстовой области, меняя тип, стиль и размер шрифта с помощью панели Форматирование (Format Bar).

 

2.3. Графический редактор

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

1. Из пункта Вставка главного меню выбрать опцию График.

2. Из подменю выбрать тип графика (из 7 возможных).

3. В отображаемом шаблоне графика заполнить пустые позиции.

4. Нажать на клавишу <Entr> или щелкнуть мышью за пределами графика.

         
   
 
   

 

 


Альтернатива - палитры графики.

 

Для редактирования графиков можно использовать пункт Format главного меню:

1. Выделить графическую область.

2. В пункте Формат выбрать опцию График.

3. Из подменю выбрать нужное действие (график, трассировка или масштаб).

4. В диалоговом окне провести необходимые установки.

Альтернатива редактирования графиков - дважды щелкнуть по графику.

 

2.4. Палитры панели «Математика»

Палитра «Калькулятор »

sin, cos, tan тригонометрические функции,

ln, log натуральный и десятичный логарифм,

n! факториал,

i мнимая единица,

|x| абсолютная величина,

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

nÖ корень степени n,

ex экспонента,

x-1 обратная величина 1/х,

() скобки,

x2 квадрат,

xy x в степени y,

p константа,

0…9 цифры

Операторы:

/, ¸, деления,

х умножения,

+ сложения,

- вычитания,

:= присвоения

= вывода результата вычисления

 

Палитра «Графика »

X -Y график, Масштаб, Трассировка,

Полярный график, Поверхностный график, Контурный график,

Объемный график, гистограммы, Объемный график, точки,

График векторного поля.

 

Палитра «Векторы и матрицы »

Матрица, Индексированная переменная, Обратная матрица, Определитель,

Векторизация, Выделение столбца матрицы, Транспонирование матрицы, Границы одномерного массива,

Внутреннее произведение векторов, Кросс произведение векторов,

Сумма вектора, Картинка.

Палитра «Вычисление » - Операторы

Равно, локальное присвоение, глобальное присвоение, вычислить символически, вычислить символически с ключевым словом,

f x префиксный оператор, x f постфиксный оператор, x f y

инфиксный оператор, x f y древовидный оператор.

Палитра «Математический анализ »

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

Произведения, неопределенный интегралы,

Пределы, градиент

 

 

Палитра «Булева алгебра » - Отношения

Тождественно равно, меньше, больше, меньше равно, больше равно,

неравно, отрицание (Not), логическое умножение (And), логическое сложение (Or), сложение по модулю 2 (xOr).

 

Палитра «Программирования »

Добавить строку. Оператор локального присвоения.

Оператор условия. Оператор иначе.

Оператор цикла. Оператор цикла

Оператор останова. Оператор продолжения.

Оператор возврата. Оператор «на ошибку».

 

Палитра «Греческие буквы »

При нажатии кнопки в позицию визира вводится соответствующая греческая буква.

 

Палитра «Символика » - символьные вычисления

Вычислить символически,

палитра модификаторов,

вычислить с плавающей точкой,

вычислить в комплексной форме,

вычислить с допущением,

решить для переменной,

упростить,

подставить выражение,

факторизация,

разложить по степеням,

полиномиальные коэффициенты,

разложить по подвыражению,

разложить в ряд,

разложить на элементарные дроби,

преобразование Фурье, преобразование Лапласа, Z-преобразование,

обратное преобразование Фурье, обратное преобразование Лапласа, обратное Z-преобразование,

транспонировать матрицу символически,

инвертировать матрицу символически,

детерминант символически.

 

Пример работы в системе Mathcad

 

Данные в Mathcad

3.1. Алфавит

Содержит:

-

Высота букв различается.
Строчные и прописные латинские буквы.

- Строчные и прописные греческие буквы.

- Строчные и прописные буквы кириллицы.

- Арабские цифры 0...9.

- Системные переменные.

- Операторы.

- Имена встроенных функций.

- Специальные знаки.

 

3.2. Числа

 

Целочисленные десятичные 123

 

Вещественные десятичные 12.3 // Разделитель целой и дробной части - точка

Вещественные, с плавающей точкой.

12.3*10 -5 //Точность по умолчанию 15 десятичных цифр

Диапазон значений:

- от 10-307 (машинный 0),

- до 10+307 (машинная бесконечность).

 

Комплексные десятичные. 2+3i

 

8-ричные. 123 O // Признак O (или o) в конце.

 

Состоят из арабских цифр 0...7.

 

16-ричные. 0A12F H // Признак H (или h) в конце.

 

Состоят из арабских цифр 0...9 и латинских букв A…F. // Признак H (или h) в конце.

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

 

3.3. Строки

 

Это набор символов в кавычках. Например: “My name”

 
 


Имеются функции работы со строками.

 

 

Например, конкатенация.

 

3. 4. Единицы измерения

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

Например,

- time - время,

- length - длина,

- mass - масса,

- Charge - заряд и др.

 

Можно выбирать системы единиц: SI, MKS, CGS, US, None (ни одна из систем). Значения зависят от выбранной системы единиц.

 

Вводится единица измерения с помощью знака умножения.

 

Ввести T:=5*<time>

Вставка /Единицы измерения / Время: выбрать время, например, секунда (sec).

Получим T=5×s.

 

За каждой из возможных единиц измерения закреплено имя.

Например, N=1*kg*m*s-2; L=1*10-3*m3

Если вводится своя переменная с таким же именем, то системная переменная меняет значение:

N:=50; L:=20

 

3.5. Переменные

Это поименованные объекты, значения которых могут в программе изменяться. Требования к идентификаторам:

- длина любая,

- начинается с буквы,

- не содержит пробелов,

- содержит любые буквы латинского и греческого алфавита,

- можно использовать символ подчеркивания,

- имя должно быть уникальным.

 

3.6. Системные переменные

Это поименованные объекты, значения которых предопределены.

К ним относятся:

- p 3.142 //Константа p (15 значащих цифр)

- e 2.718 //Основание натурального логарифма

- % 0.01 //Процент

- системная бесконечность 10307

- TOL 0.001 //Погрешность численных методов

- ORIGIN 0 // Нижняя граница индексации массивов

3.7. Операторы

Это элементы языка для создания математических выражений. Это:

- символы арифметических операций, * / + –

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

å T Õ T ò f(x)dx

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

Пользователь может создавать свои собственные операторы: префиксные, постфиксные, инфиксные, древовидные.

 

3.8. Функции

Функция – это зависимость одной переменной от другой f(x) или нескольких переменных f(x,y). При обращении к функции по имени с указанием аргументов она возвращает значение:

- численное,

- символьное (формулу),

- вектор или матрицу.

 

В систему встроено около 250 функций разнообразного назначения.

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

 

3.9. Математические выражения

Y(х):=2×ln(x2)+1 //Математическое выражение.

Y(х) - функция пользователя с аргументом х,

:= - оператор присвоения,

2 и 1 - численные константы,

× и + - операторы,

ln(x) - встроенная функция с аргументом х. В примере аргумент x2.

 

3.10. Присваивание переменным значений

Обычным переменным нужно хотя бы раз присвоить значение. Для этого используется оператор присвоения.

Оператор присвоения может быть локальным и глобальным.

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

Для локального присвоения используется оператор присвоения :=.

Он вводится явно как :=, или как =.

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

Для глобального присвоения используется оператор присвоения º.

Он вводится явно с палитры операторов отношения.

 

3.11. Сообщения об ошибках

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

3.12. Ранжированные переменные

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

Например: -10, -9 .. 10 или 5, 4.8 4.6..0

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

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

 

Формат задания целочисленной ранжированной переменной:

Name := N_Begin .. N_End или N := 0 .. 5

Name - имя переменной,

:= - оператор присвоения,

N_Begin - начальное значение,

..­­ - символ изменения в пределах,

N_End - конечное значение.

 

Шаг изменения переменной принимается равным 1, когда N_Begin < N_End, и

-1, когда N_Begin > N_End.

 

Формат задания ранжированной переменной в общем случае с учетом шага, отличного от 1 имеет вид:

 

Name := N_Begin, (N_Begin + Step) .. N_End или N := 0,0.2 .. 5

 

Step - шаг изменения.

 

Шаг изменения должен быть положительным, когда

N_Begin < N_End, тогда N:=0,0.1..5

и отрицательным, когда

N_Begin > N_End, тогда N=5,4.8..0.

 

Количество значений будет столько, сколько умещается в заданном окне. N_End не обязательно должно совпадать с последним вычисляемым значением.

.

3.13. Таблицы вывода

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

A := 2 .. 6

A =

 
3 3
 
 
 

Вывод вектора строки: A T 2 3 4 5 6

В := -0.5,-0,25 .. 0.5

В =

-0.5
-0.25 3
 
0.25
0.5

 

3. 14. Массивы, векторы, матрицы

Массив - совокупность конечного числа упорядоченных элементов (численных или символьных), имеющих определенные адреса.

В системе Mathcad применяются:

- одномерные массивы (векторы), //строка или столбец

- двумерные массивы (матрицы), //несколько строк и несколько столбцов

 

Примеры векторов:

Имя Номер элемента        
V1 Значение        
V2 Значение a b c d

 

Порядковый номер элемента (его адрес) называется индексом массива.

Нижняя граница индексации задается переменной ORIGIN.

 

Элемент вектора задается именем и индексом в виде:

V10=0 V11=1 V12=4 V13=9 // для вектора V1

V20=a V21=b V22=c V23=d // для вектора V2

 

Матрица может рассматриваться, как совокупность нескольких векторов одинаковой длины. Вектор - частный случай матрицы.

Элемент матрицы задается именем и двумя индексами (строки и столбца): Mi,j

 

Для ввода матрицы используется оператор присвоения:= и опция Matrix пункта Insert или оператор на палитре матрицы.

Путем заполнения шаблона вводятся элементы матрицы

Можно вводить элементы матрицы индивидуально оператором присвоения: М1,2:=6.

Нижняя граница индексации задается переменной ORIGIN (по умолчанию 0).

Для вектора можно делать также, задавая количество строк (столбцов) равным 1.

1. Вывод матрицы целиком:

2. При поэлементном выводе матрицы:

M0,0=1 M0,1=2 M0,2=3 Сначала вводится имя переменной, а затем

M1,0=4 M1,1=5 M1,2=6 индекс строки, запятая, индекс столбца.

Пример работы в системе Mathcad

 
 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-12-18 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: