Здравствуйте! Везде, где я читал про метод Рунге-Кутты, используются примеры, где мы считаем функцию $% f(t)$%, умея вычислять первую производную $% f'(t, f(t)) $% по времени и текущему значению функции. Но я не могу понять, как быть, когда известна i-я производная? Пусть на $% n $%-м шаге мы знаем значения $% t_n $%, $% f $%, $% f' $%, ..., $% f^{(i)} $%. Плюс мы можем вычислить $% f^{(i)}(t, f, f', \dots, f^{(i)}) $%. Как тогда вычислять остальные производные на ($% n+1 $%)-м шаге? Мы ведь не можем просто сказать, что $% f^{(i - 1)} = f^{(i)} \cdot dt $%, иначе теряется сам смысл метода! Можно подойти с другой стороны: чтобы посчитать $% f $%, 4 раза посчитаем $% f' $%, чтобы посчитать $% f' $%, 4 раза посчитаем $% f'' $% и т.д. Так понадобится вычислить $% f^{(i)} $% целых $% 4^i $% раза, что тоже убивает смысл метода. задан 14 Фев '15 23:36 Zelta |
Не слишком вникая в детали, замечу, что для приближённого вычисления производных "высшего" порядка функций по разностной схеме не требуется много операций. Рассмотрим упрощённый пример, когда производная оценивается как разность значений в двух соседних точках, умноженная на h. Для второй производной будут уже не 4 точки, а всего три: x, x+h, x+2h. Дело в том, что значение в x+h присутствует сразу в двух выражениях. Аналогично, для 3-й производной потребуются значения в тех же точках и ещё x+3h, то есть число узлов растёт линейно. Это адаптируется и для схем 4-го порядка точности.