Jump to content

Числовое дифференцирование

Конечно-разностная оценка производной

В численном анализе алгоритмы дифференцирования численного оценивают производную математической функции или подпрограммы функции, используя значения функции и, возможно, другие знания о функции.

Конечные разности [ править ]

Самый простой метод — использовать конечно-разностные аппроксимации.

Простая оценка по двум точкам заключается в вычислении наклона ближайшей секущей линии, проходящей через точки ( x , f ( x )) и ( x + h , f ( x + h )) . [1] При выборе небольшого числа h . h представляет собой небольшое изменение x и может быть как положительным, так и отрицательным Наклон этой линии

Это выражение представляет собой ( Ньютона разностный коэффициент первого порядка также известный как разделенная разность ).

Наклон этой секущей линии отличается от наклона касательной на величину, примерно пропорциональную h . Когда h приближается к нулю, наклон секущей линии приближается к наклону касательной. Следовательно, истинная производная f в точке x является пределом значения разностного коэффициента, поскольку секущие линии становятся все ближе и ближе к касательной линии:

Поскольку непосредственная замена на 0 h приводит к неопределенная форма , непосредственное вычисление производной может быть неинтуитивным.

Эквивалентно, наклон можно оценить, используя позиции x - h и x .

Другая двухточечная формула предназначена для вычисления наклона ближайшей секущей линии, проходящей через точки ( x h , f ( x h )) и ( x + h , f ( x + h ) ) . Наклон этой линии

Эта формула известна как симметричный разностный коэффициент . В этом случае ошибки первого порядка компенсируются, поэтому наклон этих секущих линий отличается от наклона касательной на величину, примерно пропорциональную . Следовательно, для малых значений h это более точное приближение к касательной, чем односторонняя оценка. Однако, хотя наклон вычисляется в точке x , значение функции в точке x не участвует.

Ошибка оценки определяется выражением

где это какая-то точка между и . Эта ошибка не включает ошибку округления , связанную с представлением чисел и выполнением вычислений с ограниченной точностью.

Коэффициент симметричной разности используется в качестве метода аппроксимации производной во многих калькуляторах, включая TI-82 , TI-83 , TI-84 , TI-85 , все из которых используют этот метод с h = 0,001 . [2] [3]

Размер шага [ править ]

Пример, показывающий сложность выбора h из-за ошибки округления и ошибки формулы

Важным соображением на практике, когда функция вычисляется с использованием арифметики с плавающей запятой конечной точности, является выбор размера шага h . Если выбрано слишком маленькое значение, вычитание приведет к большой ошибке округления . На самом деле все формулы конечных разностей плохо обусловлены. [4] и из-за отмены выдаст нулевое значение, если h достаточно мало. [5] Если слишком большое значение, расчет наклона секущей будет более точным, но оценка наклона касательной с использованием секущей может быть хуже. [6]

Для основных центральных разностей оптимальным шагом является извлечение кубического корня из машинного эпсилона . [7] Для формулы числовой производной, вычисляемой по значениям x и x + h , выбор значения h без большой ошибки округления равен небольшого (хотя и не тогда, когда x = 0), где машинный эпсилон ε обычно имеет порядок 2,2 × 10 −16 для двойной точности . [8] Формула для h , которая уравновешивает ошибку округления и секущую ошибку для достижения оптимальной точности: [9]

(правда, не тогда, когда ), и для его использования потребуются знания функции.

Для компьютерных вычислений проблемы усугубляются, поскольку, хотя x обязательно содержит представимое число с плавающей запятой с некоторой точностью (32 или 64 бита и т. д .), x + h почти наверняка не будет точно представимым с этой точностью. Это означает, что x + h будет изменено (путем округления или усечения) на ближайшее машинно представимое число, в результате чего ( x + h ) − x будет не равно h ; два вычисления функции не будут находиться на расстоянии ровно h друг от друга. В этом отношении, поскольку большинство десятичных дробей представляют собой повторяющиеся последовательности в двоичном формате (точно так же, как 1/3 в десятичном формате), кажущийся круглым шаг, такой как h = 0,1, не будет круглым числом в двоичном формате; это 0,000110011001100... 2 Возможный подход следующий:

h     := sqrt(eps) * x;
xph   := x + h;
dx    := xph - x;
slope := (F(xph) - F(x)) / dx;

Однако в случае компьютеров средства оптимизации компилятора могут не учитывать детали реальной компьютерной арифметики и вместо этого применять математические аксиомы, чтобы сделать вывод, что dx и h одинаковы. В C директива, указывающая, что xph является изменчивой переменной и подобных языках это предотвратит .

Другие методы [ править ]

Методы высшего порядка [ править ]

Существуют методы высшего порядка аппроксимации производной, а также методы для высших производных.

Ниже приведен пятиточечный метод для первой производной ( пятиточечный трафарет в одном измерении): [10]

где .

Для других конфигураций трафарета и производных порядков Калькулятор конечных разностных коэффициентов представляет собой инструмент, который можно использовать для создания методов аппроксимации производных для любого трафарета с любым производным порядком (при условии, что решение существует).

Высшие производные [ править ]

Используя разностный коэффициент Ньютона,

можно показать следующее [11] (для n > 0 ):

Методы комплексных переменных [ править ]

Классические конечно-разностные приближения для численного дифференцирования плохо обусловлены. Однако, если голоморфная функция , имеющая действительное значение на действительной прямой, которую можно вычислить в точках комплексной плоскости вблизи , то есть стабильные методы. Например, [5] первую производную можно вычислить по формуле производной комплексного шага: [12] [13] [14]

Рекомендуемый размер шага для получения точных производных для ряда условий: . [6] Эту формулу можно получить разложением в ряд Тейлора :

Формула производной комплексного шага действительна только для расчета производных первого порядка. Обобщение вышеизложенного для вычисления производных любого порядка использует мультикомплексные числа , что приводит к мультикомплексным производным. [15] [16] [17]

где обозначаем мультикомплексные мнимые единицы; . оператор извлекает -я компонента мультикомплексного числа уровня , например, извлекает реальный компонент и извлекает последний, «самый воображаемый» компонент. Этот метод можно применять к смешанным производным, например, к производной второго порядка.

Доступна реализация мультикомплексной арифметики на языке C++. [18]

В общем случае производные любого порядка можно вычислить по интегральной формуле Коши : [19]

где интегрирование производится численно .

Использование комплексных переменных для численного дифференцирования было начато Лайнсом и Молером в 1967 году. [20] Их алгоритм применим к производным более высокого порядка.

Метод, основанный на численном обращении комплексного преобразования Лапласа, был разработан Абате и Дубнером. [21] Алгоритм, который можно использовать, не требуя знаний о методе или характере функции, был разработан Форнбергом. [4]

Дифференциальная квадратура [ править ]

Дифференциальная квадратура — это аппроксимация производных с использованием взвешенных сумм значений функций. [22] [23] Дифференциальная квадратура представляет практический интерес, поскольку позволяет вычислять производные по зашумленным данным. Название по аналогии с квадратурой , что означает числовое интегрирование , где взвешенные суммы используются в таких методах, как метод Симпсона или правило трапеций . Существуют различные методы определения весовых коэффициентов, например, фильтр Савицкого–Голея . Дифференциальная квадратура используется для решения уравнений в частных производных . Существуют и другие методы вычисления производных на основе зашумленных данных. [24]

См. также [ править ]

Ссылки [ править ]

  1. ^ Ричард Л. Берден, Дж. Дуглас Фейрс (2000), Численный анализ , (7-е изд.), Брукс/Коул. ISBN   0-534-38216-9 .
  2. ^ Кэтрин Клипперт Мерсет (2003). Окна в преподавании математики: примеры средних и средних классов . Издательство педагогического колледжа. п. 34 . ISBN  978-0-8077-4279-2 .
  3. ^ Тамара Лефкур Руби; Джеймс Селлерс; Лиза Корф; Джереми Ван Хорн; Майк Манн (2014). Каплан А. П. Исчисление AB и BC 2015 . Каплан Паблишинг. п. 299. ИСБН  978-1-61865-686-5 .
  4. Перейти обратно: Перейти обратно: а б Численное дифференцирование аналитических функций, Б. Форнберг – Транзакции ACM в математическом программном обеспечении (TOMS), 1981.
  5. Перейти обратно: Перейти обратно: а б Использование комплексных переменных для оценки производных действительных функций, У. Сквайр, Г. Трапп – SIAM REVIEW, 1998.
  6. Перейти обратно: Перейти обратно: а б Мартинс, Хоаким РРА; Нин, Эндрю (01 октября 2021 г.). Оптимизация инженерного проектирования (PDF) . Издательство Кембриджского университета. ISBN  978-1108833417 .
  7. ^ Зауэр, Тимоти (2012). Численный анализ . Пирсон. стр.248.
  8. ^ Следуя числовым рецептам в C , глава 5.7 .
  9. ^ с. 263 .
  10. ^ Абрамовиц и Стегун, Таблица 25.2.
  11. ^ Шилов, Георгий. Элементарный вещественный и комплексный анализ .
  12. ^ Мартинс, JRRA; Стурдза, П.; Алонсо, Джей-Джей (2003). «Приближение комплексной производной». Транзакции ACM в математическом программном обеспечении . 29 (3): 245–262. CiteSeerX   10.1.1.141.8002 . дои : 10.1145/838250.838251 . S2CID   7022422 .
  13. ^ Дифференциация без (без) разницы Николаса Хайэма
  14. ^ статья из блога MathWorks , опубликованная Кливом Молером.
  15. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 9 января 2014 г. Проверено 24 ноября 2012 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  16. ^ Лантуан, Г.; Рассел, Р.П.; Дарджент, Т. (2012). «Использование мультикомплексных переменных для автоматического вычисления производных высокого порядка». АКМ Транс. Математика. Программное обеспечение . 38 (3): 1–21. дои : 10.1145/2168773.2168774 . S2CID   16253562 .
  17. ^ Верхейлевеген, А. (2014). «Вычисление производных более высокого порядка с использованием метода многокомплексных шагов» (PDF) .
  18. ^ Белл, Айдахо (2019). «mcx (библиотека мультикомплексной алгебры)» . Гитхаб .
  19. ^ Абловиц, М.Дж., Фокас, А.С. (2003). Комплексные переменные: введение и применение. Издательство Кембриджского университета . Проверьте теорему 2.6.2.
  20. ^ Лайнесс, Дж. Н.; Молер, CB (1967). «Численное дифференцирование аналитических функций». СИАМ Дж. Нумер. Анал . 4 (2): 202–210. Бибкод : 1967SJNA....4..202L . дои : 10.1137/0704019 .
  21. ^ Абате, Дж; Дубнер, Х. (март 1968 г.). «Новый метод разложения функций в степенной ряд». СИАМ Дж. Нумер. Анал . 5 (1): 102–112. Бибкод : 1968SJNA....5..102A . дои : 10.1137/0705008 .
  22. ^ Дифференциальная квадратура и ее применение в технике: Инженерные приложения, Чанг Шу, Springer, 2000, ISBN   978-1-85233-209-9 .
  23. ^ Расширенные дифференциальные квадратурные методы, Инъянь Чжан, CRC Press, 2009, ISBN   978-1-4200-8248-7 .
  24. ^ Анерт, Карстен; Абель, Маркус (2007). «Численная дифференциация экспериментальных данных: локальные и глобальные методы». Компьютерная физика. Коммуникации . 177 (10): 764–774. Бибкод : 2007CoPhC.177..764A . CiteSeerX   10.1.1.752.3843 . дои : 10.1016/j.cpc.2007.03.009 . ISSN   0010-4655 . S2CID   15129086 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 58e0c3c99467b235652b9cd7ae2a6c51__1714191900
URL1:https://arc.ask3.ru/arc/aa/58/51/58e0c3c99467b235652b9cd7ae2a6c51.html
Заголовок, (Title) документа по адресу, URL1:
Numerical differentiation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)