Глава 5. Решение  дифференциальных уравнений

      5.7 Нахождение решения только в конечной точке


Функции для численного решения дифференциальных уравнений (rkfixed, Stiffr, Stiffb и др.) ищут решение у(х) в равноотстоящих точках на отрезке от х1 до х2. Однако часто возникает задача, когда необходимо найти решение только в конечной точке интервала у(х2). Функции, описанные ранее, будут давать такое решение, однако при этом делать много ненужной работы. Если нужно только значение функции только в конце интервала у(х2), можно использовать функции, описанные в дальнейшем. Каждая из них соответствует одной из функций, перечисленных ранее, и обладает аналогичными свойствами. Имена таких функций начинаются со строчной буквы.

Обращение к этим функциям:

bulstoer(y, х1, х2, acc, D, kmax,save);

rkadapt(y, х1, х2, acc, D, kmax,save);

radau(y, х1, х2, acc, D,  kmax,save);

stiffb(y, х1, х2, acc, D, J, kmax,save);

stiffr(y, х1, х2, acc, D, J, kmax,save),

 где у – вектор начальных условий размерности n (n – порядок ОДУ или число уравнений в системе ОДУ); х1 и х2 – граничные точки интервала, на котором ищется решение системы ОДУ; начальные условия, заданные вектором у, – это значение решения в точке х1; acc –параметр, контролирующий качество решения. Малое значение acc вынуждает алгоритм брать меньше шаги вдоль траектории, что увеличивает точность решения, значения acc, близкие к 0,001, приводят к хорошей точности решения; D(x,y)n–мерный вектор, который содержит первые производные неизвестных функций; J(x,y)– функция, которая возвращает матрицу размером , первый столбец ее содержит производные F(t,y) по у, остальные столбцы представляют собой матрицу Якоби системы ОДУ; kmax – максимальное число промежуточных точек, в которых ищется решение, ограничивает число строк матрицы, возвращаемой этими функциями; save – минимально допустимый интервал между точками, в которых ищется приближенное решение. Он определяет минимальное различие между любыми двумя числами в первом столбце матрицы, возвращаемой функцией.

 Следует отметить, что экономия времени при использовании таких функций невелика, и поэтому применение их вряд ли целесообразно.

Примеры использования таких функций приведены на рис. 5.16 и 5.18.

                                                                          Исходное уравнение    при 

                                                                                                          

                                                                                                  

                                                                                                 Обычное решение в 20 точках

                                                                                              Решения, справедливые

                                                                                              лишь в конечной точке

                                                                                                              

                                                                                                         

                                                               Рис. 5.18 Нахождение решения ОДУ только в конечной точке

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

                                                                                                 

НазадВперед

Оглавление   Глава 5