Медленно изменяющиеся решения
Задавшись фиксированным числом точек, можно аппроксимировать функцию более точно, если вычислять ее значения в точках, расположенных следующим образом: достаточно часто на тех интервалах, где функция меняется быстро, и не очень часто — где функция изменяется более медленно. Если известно, что искомое решение достаточно гладкое, может оказаться лучше использовать функцию Rkadapt для поиска приближенного решения. В отличие от функции rkfixed, которая ищет приближенное решение с постоянным шагом, функция Rkadapt проверяет, как быстро изменяется приближенное решение, и адаптирует соответственно размер шага. Этот адаптивный контроль величины шага дает возможность функции Rkadapt вычислять значение приближенного решения на более мелкой сетке в тех областях, где оно меняется быстро, и на более крупной — в тех областях, где оно меняется медленно. Это позволяет и повысить точность, и сократить время, требуемое для решения уравнения.
Обратите внимание, что, хотя функция Rkadapt при решении дифференциального уравнения использует во внутренних расчетах переменный шаг, возвращает приближенное решение она на равномерной сетке (в равноотстоящих точках).
Функция Rkadapt имеет те же самые аргументы, что и функция rkfixed. Матрица с приближенным решением, возвращаемая функцией Rkadapt,идентична по виду матрице, возвращаемой функцией rkfixed.
Rkadapt ( y, x1, x2, npoints, D)
y = | Вектор начальных условий размерности n, где n — порядок дифференциального уравнения или число уравнений в системе (если решается система уравнений). |
x1, x2 = | Граничные точки интервала, на котором ищется решение дифференциальных уравнений. Начальные условия, заданные в векторе y, — это значение решения в точке x1. |
npoints = | Число точек (не считая начальной точки), в которых ищется приближенное решение. При помощи этого аргумента определяется число строк (1 + npoints) в матрице, возвращаемой функцией Rkadapt. |
D (x, y) = | Функция, возвращающая значение в виде вектора из n элементов, содержащих первые производные неизвестных функций. |
Жесткие системы
Система дифференциальных уравнений, записанная в виде:
y = Ax,
является жесткой системой, если матрица A почти вырождена. В этом случае решение, возвращаемое функцией rkfixed, может сильно осциллировать или быть неустойчивым. При решении жесткой системы необходимо использовать одну из двух функций, специально разработанных для решения жестких систем дифференциальных уравнений: Stiffb и Stiffr. Они используют соответственно Bulirsch-Stoer метод и Rosenbrock метод для решения жестких систем.
Вид матрицы, возвращаемой этими функциями, совпадает с возвращаемым функцией rkfixed. Однако Stiffb и Stiffr требуют задания дополнительных аргументов, которые описаны в следующем разделе:
Stiffb ( y, x1, x2, npoints, D, J) Stiffr ( y, x1, x2, npoints, D, J)
y = | Вектор начальных условий размерности n, где n — порядок ОДУ или число уравнений в системе ОДУ, если решается система. |
x1, x2 = | Граничные точки интервала, на котором ищется решение дифференциальных уравнений. Начальные условия, заданные в векторе y, — это значение решения в точке x1. |
npoints = | Число точек (не считая начальной), в которых ищется приближенное решение. При помощи этого аргумента определяется число строк (1 + npoints) в матрице, возвращаемой функциями Stiffb или Stiffr. |
D (x, y) = | n-мерный вектор, который содержит первые производные неизвестных функций. |
J (x, y) = | Функция, которая возвращает матрицу размером n x (n+1). Первый столбец содержит производные D/ x. Остальные строки и столбцы представляют собой матрицу Якоби ( D/ yk) системы ОДУ. Например, если: , то |
- Буквенные индексы
- Ниже приводится полный список предопределенных переменных Mathcad и их значений по умолчанию:
- Используемые числа
- Специальные операции над комплексными числами
- Многозначные функции
- Создание вектора
- Создание матрицы
- Изменение размера матрицы
- Нижние индексы и элементы вектора
- Изменение способа отображения массивов
- Графическое представление матриц
- Ограничение входных массивов
- Ограничение отображаемых массивов
- Ограничение размеров массива
- Размеры и диапазон значений массива
- Специальные типы матриц
- Специальные характеристики матрицы
- Формирование новых матриц из существующих
- Собственные значения и собственные векторы
- Разложения
- Решение линейной системы уравнений
- Определение составного массива
- Отображение составных массивов
- Операторы и функции для составных массивов
- Определение и использование дискретного аргумента
- Многократные вычисления по дискретному аргументу
- Множественные дискретные аргументы и двойные индексы
- Рекурсивные вычисления с несколькими переменными
- Рекурсивные вычисления с вектором
- Советы по набору операторов
- Переменный верхний предел суммирования
- Оператор суммирования элементов вектора
- Производные более высокого порядка
- Переменные пределы интегрирования
- Изменение точности вычисления интегралов
- Криволинейные и двойные интегралы
- Определение пользовательского оператора
- Использование пользовательского оператора
- Запись функций как операторов
- Тригонометрические функции и обратные им.
- Гиперболические функции
- Логарифмические и показательные функции
- Функции Бесселя
- Специальные функции
- Введение в дискретное преобразование Фурье
- Функция if
- Циклы “while”
- Оператор “break”
- Циклы “for”
- Подпрограммы
- Рекурсия
- Что делать, когда функция root не сходится
- Некоторые советы по использованию функции root
- Решение уравнений с параметром
- Нахождение корней полинома
- Как использовать найденное решение
- Что делать, когда Mathcad не может найти решения
- Что делать, когда имеется слишком мало ограничений
- Многократное решение уравнений
- Решение одинаковых задач относительно разных переменных
- Приближенные решения
- Использование символьного решения уравнений
- Дифференциальные уравнения первого порядка
- Дифференциальные уравнения второго порядка
- Уравнения более высокого порядка
- Системы оду первого порядка
- Системы дифференциальных уравнений более высокого порядка
- Гладкие системы
- Медленно изменяющиеся решения
- Нахождение приближенного решения только в конечной точке
- Двухточечные краевые задачи
- Дифференциальные уравнения с частными производными