- •Вычислительная математика
- •Оглавление
- •3. Численное интегрирование…………………………………………………...51
- •4. Уравнения в частных производных…………………………………………65
- •5. Численные методы линейной алгебры……………………………………...73
- •1. Численные методы решения обыкновенных дифференциальных уравнений Основные понятия
- •Элементы теории погрешностей
- •Численное дифференцирование. Аппроксимационные формулы
- •Задача Коши для обыкновенного дифференциального уравнения 1-го порядка. Метод Эйлера
- •Задача Коши для обыкновенных дифференциальных уравнений 1-го порядка. Методы Рунге-Кутта
- •Краевые задачи для обыкновенного дифференциального уравнения 2-го порядка
- •Метод Галеркина для обыкновенных дифференциальных уравнений 2-го порядка
- •2. Аппроксимация функций Интерполяционный многочлен Лагранжа
- •Многочлены Чебышева
- •Минимизация погрешности интерполяции полинома Лагранжа
- •Интерполяция с равноотстоящими узлами
- •Кусочная аппроксимация
- •Сплайн- интерполяция
- •Метод наименьших квадратов
- •Ортогональные полиномы
- •3. Численное интегрирование Простейшие квадратурные формулы
- •Квадратурные формулы Ньютона-Котеса
- •Экстраполяция по Ричардсону
- •Квадратурные формулы Гаусса, Чебышева
- •Метод Монте-Карло
- •4. Уравнения в частных производных
- •5. Численные методы линейной алгебры
- •Матрицы и действия над ними
- •Клеточные матрицы
- •Разложение матрицы на произведение двух треугольных матриц
- •Итерационные методы
- •Метод Якоби
- •Метод Зейделя
- •Практикум по вычислительной математике Лабораторные работы для Mathcad 2001i Professional Лабораторная работа № 1 Обращение матриц
- •Лабораторная работа №2 Решение системы нелинейных уравнений
- •Лабораторная работа №3 Построение уравнений регрессии
- •Лабораторная работа № 4 Разложение функций в ряд Фурье пополиномам Лежандра
- •Лабораторная работа № 5 Решение дифференциального уравнения второго порядка
- •Лабораторная работа № 6 «Аппроксимации»
- •Лабораторная работа № 7 Решение слау с помощью lu разложения
- •Лабораторная работа № 11 Метод прогонки
- •Синтаксис среды Maple
- •Данные множественного типа
- •Решение дифференциальных уравнений в среде Maple Примеры решения уравнений встроенными функциями
- •Примеры численного решения оду
- •Лабораторная работа №1 Решение оду различными методами
- •Задания для самостоятельного решения
- •Лабораторная работа № 2 Интерполяция функции полиномами Лежандра
- •Лабораторная работа № 3 Метод наименьших квадратов
- •Лабораторная работа № 4 Применение системы Maple в сопротивлении материалов
- •Эпюра q
- •Эпюра q
- •Эпюра q
- •Эпюра q Лабораторная работа № 5 Решение системы методом прогонки
- •Библиографический список
Синтаксис среды Maple
Для начала следует помнить первое и основное правило: прописные и строчные знаки, обозначающие один и тот же символ – различны, в отличие от сред программирования таких как Pascal или C++. Если обозначить две переменные Pi и pi, то для среды они являются абсолютно разными. То же имеет отношение и к операторам, функциям, типам данных и другим структурам и объектам среды Maple.
Рассмотрение синтаксиса начнем с описания основных операторов.
; оператор, определяющий конец выражения;
: так же определяет конец выражения, но блокирует вывод в поле вывода;
Все выражения разделяются с помощью только операторов, описанных выше.
:: указатель типа переменной (например n::integer);
# указатель программного комментария.
Так называемые бинарные операторы:
:= оператор присваивания (используется для задания переменным конкретных значений);
+ сложения;
– вычитания;
/ деления;
* умножения;
^ или ** возведения в степень;
mod остаток от деления;
$ оператор последовательности;
@ оператор композиции;
@@ повторение композиции;
.. задание интервала;
&* некоммутативное умножение;
|| объединение (конкатенация).
Бинарные операторы используются с двумя операндами, обычно размещаемыми по обе стороны от оператора. Например, 2+3. В этом случае 2 и 3 – операнды.
Логические операторы:
< меньше;
<= меньше или равно;
> больше;
>= больше или равно;
= равно;
<> не равно;
and логическое «и»;
or логическое «или».
Конструкции с использованием логических операторов возвращают логическое значение: true – если условие выполняется, false – если не выполняется.,
-> функциональный оператор (используется для определения собственных функций пользователя).
Оператор % обеспечивает подстановку в строку ввода (или в выражение) последнего результата операции, %% – предпоследнего и %%% – третьего с конца.
Важным понятием системы Maple является понятие функции. Функция возвращает результат преобразования исходных данных (параметров функции) по определенному правилу, обычно представленному в виде формулы или программного модуля.
Некоторые функции могут быть записаны в инертной форме. Например, для задания и вычисления интеграла используется функция int, её инертная форма Int. Инертная форма записи используется для того, чтобы вывести в поле вывода функцию без вычисления значения.
Для использования инертной формы функций, не имеющих таковой, можно использовать прямые одинарные апострофы.
Пример.
> f:=x->x^2; # Зададим функцию от x, f(x)=x^2.
>'f(5)'=f(5);
Для построения графиков используются функции plot и plot3d. Соответственно двух- и трехмерных. Например, plot(sin(x)/x,x=-15..15) – построение графика синуса на интервале от –15 до 15 радиан.
Данные множественного типа
Способ задания множества:{} – множество.
Отличительная черта множеств – автоматическое устранение повторяющихся элементов. Кроме того, элементы множества расставляются в определенном порядке – числа в порядке увеличения значения, а символы и строки в алфавитном порядке, [] – список
Элементы списков преобразуются и выводятся строго в том порядке, в каком они были заданы. Списки широко применятся для задания векторов и матриц.
array[a..b,s1] возвращает вектор с индексами от a до b и значениями из одномерного списка s1.
array[a..b,с..d,s2] возвращает матрицу с номерами строк от a до b, номерами столбцов от c до d и значениями из двухмерного массива s2.
Обращаться к элементу множества или списка, а также вектора или матрицы (массива) можно по его порядковому номеру.
Переменные в среде Maple задаются своим именем – идентификатором, который должен быть уникальным. Зарезервированные слова, имена констант нельзя использовать в качестве имени переменной. Несмотря на то, что Maple допускает использование в качестве идентификаторов имена ряда команд и функций, от этого следует воздержаться. Как только имя встроенной функции или команды закрепляется за какой-либо переменной, она перестает работать. Ограничение на длину идентификатора – 524257 символов.
Имя переменной следует начинать с буквы. Можно использовать знак «_». Но нельзя использовать знаки, обозначающие операторы.
Имена переменных могут задаваться в обратных апострофах, при этом они просто тождественны переменным без апострофов.
Одинарные прямые апострофы применяются не только, как описано выше, для отображения в инертной форме, но и для отмены присваивания отдельной переменной.
Пример.
> x:=10;
>x;
>x:=’x’;
>x;
Отмена присваивания и определения одновременно всех переменных и функций пользователя производится командой restart. Рекомендуется каждый новый документ начинать именно с этой команды, потому что Maple сохраняет в памяти все определения и присваивания, которые были сделаны во всех загруженных в систему документах, поэтому результаты вычислений в текущем документе могут зависеть от определений в других документах.
В системе Maple существует понятие констант. Константы – простейшие именованные объекты, несущие заранее предопределенные значения. Их идентификаторы подчиняются таким же правилам написания, как и в случае переменных. Впрочем, все объекты и структуры системы подчиняются этим правилам.
В Maple существуют встроенные константы, которые правильнее считать заведомо определенными глобальными переменными.
false логическое значение «ложь»
gam4ma константа Эйлера (γ = 0.5772156649…)
infinity положительная бесконечность (отрицательная записывается как –infinity)
true логическое значение «истина»
Catalan костанта Каталана, равная 0.915965594…
FAIL специальная константа (см. справку)
I мнимая
единица (
)
Pi представляет
константу
…
Имена всех переменных являются защищенными, поэтому попытка переобозначить их определения приведет к ошибке.
