Нахождение приближенного решения только в конечной точке
Функции для численного решения дифференциальных уравнений, описанные выше, искали решение y(x) в равноотстоящих точках на отрезке [x1, x2]. Однако часто возникает задача, когда необходимо найти приближенное решение только в конечной точке интервала y(x). Хотя функции, описанные выше, будут давать значение y(x2), при этом они будут делать много ненужной дополнительной работы, возвращая промежуточные значения y(x). Если нужно только значение y(x2), используйте функции, перечисленные ниже. Каждая функция соответствует одной из функций, описанной в предыдущих разделах, и обладает аналогичными свойствами.
bulstoer ( y, x1, x2, acc, D, kmax, save) rkadapt ( y, x1, x2, acc, D, kmax, save) stiffb ( y, x1, x2, acc, D, J, kmax, save) stiffr ( y, x1, x2, acc, D, J, kmax, save)
y = | Вектор начальных условий размерности n, где n — порядок дифференциального уравнения или число уравнений в системе (если решается система уравнений). |
x1, x2 = | Граничные точки интервала, на котором ищется решение дифференциальных уравнений. Начальные условия, заданные в векторе y, — это значения решения в точке x1. |
acc = | Параметр, контролирующий точность решения. Малое значение acc вынуждает алгоритм брать меньшие шаги вдоль траектории, что увеличивает точность решения. Значения acc, близкие к 0.001, приводят к хорошей точности решения. |
D (x, y) = | Функция, возвращающая значение в виде вектора из n элементов, содержащих первые производные неизвестных функций. |
J (x, y) = | Функция, возвращающая матрицу размером . Первый столбец содержит производные D/ x. Остальные строки и столбцы представляют собой матрицу Якоби ( D/ yk) системы дифференциальных уравнений. |
kmax = | Максимальное число промежуточных точек, в которых ищется приближенное решение. Значение kmax содержит ограничение сверху на число строк матрицы, возвращаемой этими функциями. |
save= | Минимально допустимый интервал между точками, в которых ищется приближенное решение. Он определяет нижнюю границу различия между любыми двумя числами в первом столбце матрицы, возвращаемой функцией. |
Функции Mathcad, которые были описаны выше в этой главе, предназначены для решения задачи с начальными условиями — задачи Коши. Для этих задач задаются значения искомого решения и его производных в начальной точке интервала.
Однако часто встречаются задачи, в которых значения искомого решения известны в граничных точках интервала. Хороший пример такой задачи — натянутая струна, закрепленная на концах. Задачи такого типа называются краевыми задачами. В первой части раздела будут детально обсуждены двухточечные краевые задачи: задачи для системы обыкновенных дифференциальных уравнений, решение которых является функцией одной переменной, и известны значения решения в двух граничных точках интервала. Далее в разделе будет обсужден частный случай, касающийся дифференциальных уравнений в частных производных.
- Буквенные индексы
- Ниже приводится полный список предопределенных переменных Mathcad и их значений по умолчанию:
- Используемые числа
- Специальные операции над комплексными числами
- Многозначные функции
- Создание вектора
- Создание матрицы
- Изменение размера матрицы
- Нижние индексы и элементы вектора
- Изменение способа отображения массивов
- Графическое представление матриц
- Ограничение входных массивов
- Ограничение отображаемых массивов
- Ограничение размеров массива
- Размеры и диапазон значений массива
- Специальные типы матриц
- Специальные характеристики матрицы
- Формирование новых матриц из существующих
- Собственные значения и собственные векторы
- Разложения
- Решение линейной системы уравнений
- Определение составного массива
- Отображение составных массивов
- Операторы и функции для составных массивов
- Определение и использование дискретного аргумента
- Многократные вычисления по дискретному аргументу
- Множественные дискретные аргументы и двойные индексы
- Рекурсивные вычисления с несколькими переменными
- Рекурсивные вычисления с вектором
- Советы по набору операторов
- Переменный верхний предел суммирования
- Оператор суммирования элементов вектора
- Производные более высокого порядка
- Переменные пределы интегрирования
- Изменение точности вычисления интегралов
- Криволинейные и двойные интегралы
- Определение пользовательского оператора
- Использование пользовательского оператора
- Запись функций как операторов
- Тригонометрические функции и обратные им.
- Гиперболические функции
- Логарифмические и показательные функции
- Функции Бесселя
- Специальные функции
- Введение в дискретное преобразование Фурье
- Функция if
- Циклы “while”
- Оператор “break”
- Циклы “for”
- Подпрограммы
- Рекурсия
- Что делать, когда функция root не сходится
- Некоторые советы по использованию функции root
- Решение уравнений с параметром
- Нахождение корней полинома
- Как использовать найденное решение
- Что делать, когда Mathcad не может найти решения
- Что делать, когда имеется слишком мало ограничений
- Многократное решение уравнений
- Решение одинаковых задач относительно разных переменных
- Приближенные решения
- Использование символьного решения уравнений
- Дифференциальные уравнения первого порядка
- Дифференциальные уравнения второго порядка
- Уравнения более высокого порядка
- Системы оду первого порядка
- Системы дифференциальных уравнений более высокого порядка
- Гладкие системы
- Медленно изменяющиеся решения
- Нахождение приближенного решения только в конечной точке
- Двухточечные краевые задачи
- Дифференциальные уравнения с частными производными