Производная функции под знаком модуля
Пожалуйста, используйте IE6/7/8 с плагином MathPlayer, Firefox с установленными математическими шрифтами или Opera 9.5 и выше.
Объявления | Последний пост | |
---|---|---|
Запущен новый раздел «Задачки и головоломки» | 29.08.2019 00:42 | |
Открыта свободная публикация вакансий для математиков | 26.09.2019 16:34 | |
Гранты для студентов и аспирантов мехмата и физфака МГУ на обучение в магистратуре Кембриджа 2023/2024 | 28.11.2022 13:56 |
10.05.2010 17:59
Дата регистрации:
13 лет назад
Производная функции под знаком модуля
Приветствую всех!
Помогите, пожалуйста, разобраться с производной функции под знаком модуля. Есть функция $y = -|3x — 4| — 2$ , надо найти ее производную. Вообще-то проблем с этим нет, но не знаю, как правильно надо найти эту производную: как производную сложной функции или просто $(3х — 4)’$ и т.д.
Перерыла кучу литературы, нигде ничего нет или я слепая
P.S. Правила форума прочитала, но пока нет возможности разбираться с правильным набором формул. Заранее прошу прощения за это и надеюсь на понимание.
Редактировалось 2 раз(а). Последний 27.06.2010 12:34.
Производная от модуля
Вопрос глупый, но ответа на него я не знаю. Надеюсь на вашу помощь!
найти производную: f(x) = 5x 2 + 10x + 19|x-3|
вся проблема в модуле. как от нее взять производную.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Производная модуля
значит дана функция f(x)=^|x| и нужно найти 3-ю производную в точке x=0.
Производная от модуля
y’=(\frac\ln |\operatorname\frac|)’=\frac\cdot.
Производная модуля
Помогите взять производную от |X| и |sin(x)|, и желательно с пояснениями или формулами для.
Производная от модуля
умоляю помогите!срочно нужно сдать контрольную,но не знаю как решить!нужно найти наибольшее и.
27697 / 17314 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
Сообщение от Pain’ka
вся проблема в модуле. как от нее взять производную.
При x < 3 производная = -1, x >3 производная = 1, в т. x=3 производной не существует
Регистрация: 23.11.2011
Сообщений: 54
а такой вариант не правильный:
х / |x — 3|?
4652 / 3404 / 361
Регистрация: 11.11.2010
Сообщений: 6,205
Записей в блоге: 2
Pain’ka, а откуда вы это взяли?
Регистрация: 23.11.2011
Сообщений: 54
тоже на одном форуме нашла)
но что-то мне в ней не нравится
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
Сообщение от Pain’ka
а такой вариант не правильный:
х / |x — 3|?
(х — 3) / |x — 3| при х≠3, но это другая запись того, что уже ответил Байт.
Регистрация: 23.11.2011
Сообщений: 54
упс! числитель — мой косяк!
Спасибо.
27697 / 17314 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
Сообщение от splen
(х — 3) / |x — 3| при х≠3, но это другая запись того, что уже ответил Байт.
такая запись конечно же и умнее и нагляднее, а главное, позволяет развить тему.
|f(x)|’ = f'(x) *f(x)/|f(x)|
При этом оговорок типа f(x) ≠ 0 не требуется. Формула (ее ОДЗ) говорит сама за себя
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
Сообщение от Байт
такая запись конечно же и умнее и нагляднее, а главное, позволяет развить тему.
Такая запись приведена в ответ на конкретный вопрос.
Сообщение от Байт
|f(x)|’ = f'(x) *f(x)/|f(x)|
Это в общем случае неверно.
Сообщение от Байт
При этом оговорок типа f(x) ≠ 0 не требуется. Формула (ее ОДЗ) говорит сама за себя
Требуется. Здесь утверждается, что исходная функция не имеет производной при х = 0. Из одного лишь того, что приведенное выражение не определено при х = 0, это ещё не следует (производная может существовать, но выражаться иначе).
27697 / 17314 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
Сообщение от splen
Это в общем случае неверно.
Вполне возможно. Если у вас есть хороший пример, покажите. Экзотов типа функции Дирихле или sin x/ x не предлагать. Я думаю, что некоторые соображения о гладкости были бы достаточны для строгого доказательства. Хотя уверенности нет.
Сообщение от splen
Требуется. Здесь утверждается, что исходная функция не имеет производной при х = 0. Из одного лишь того, что приведенное выражение не определено при х = 0, это ещё не следует (производная может существовать, но выражаться иначе).
Тут вы совершенно правы.
Точки f(x) = 0 нужно исследовать отдельно. Как и всюду и всегда.
О вы, нули мои и нолики! Олейников
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
Сообщение от Байт
Если у вас есть хороший пример, покажите.
y(x)=x 2 (ОДЗ правой и левой частей не совпадают), но есть примеры и с другими особенностями.
Сообщение от Байт
Точки f(x) = 0 нужно исследовать отдельно. Как и всюду и всегда.
Сообщение от Байт
Тут вы совершенно правы.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Производная модуля функции
Подскажите : Если у меня есть функция, и надо найти производную от её модуля, то можно сначала.
Производная от дифференциала аргумента и производная n-го порядка
Здравствуйте! Столкнулся с одной интересной формулой для поиска первообразной, которая выглядит.
Как из одного модуля добраться к языковым переменным другого модуля? (Joomla 2.5)
Хочу сделать регистрацию в модальном окне. Для этого делаю модуль вставки html и вставляю форму.
Устранить ошибку отсутствия модуля exeptions при импорте модуля docx
Доброго времени суток! только начал знакомство с питоном, установил pip, pycharm и тд. Вот решил.
2 Модуль
Занятие № 13. Таблица производных. Непосредственное дифференцирование функций.Цель занятия: Научить находить табличные производные, применяя к ним правила дифференцирования. Производнойот функциив точкех называется предел отношения её приращения в этой точке к соответствующему приращению аргумента, когда последнее стремится к нулю. . Операция нахождения производной называется дифференцированием. Основные правила дифференцированияОсновные формулы дифференцированияПрименяя формулы и правила дифференцирования, найти производные следующих функций:Пример 1.Пример 2.Пример 3.Пример 4.Пример 5.Пример 6.Пример 7.Пример 8.Занятие № 14. Производная сложной функции. Правила дифференцирования.Цель занятия: Научить находить производные от сложных функций. Продифференцировать данные функции:Пример 1.Пример 2.Пример 3.Пример 4.Занятие № 15. Производная сложной функции. Производная высших порядков. Производная неявной функции.Цель занятия: Закрепить нахождение производной от сложной функции и научить находить производные от неявно заданных функций. Пример 1.. В данном примере прежде чем дифференцировать функцию, удобно её прологарифмировать, а затем найти производную как от неявной функции . Пример 2.В данном примере удобно функцию сначала прологарифмировать Пример 3. Найти и. arctgy–y+x= 0 Дифференцируем заданное соотношение, рассматривая у как функцию от х: Находим далее : В правую часть последнего равенства подставляем вместо его значение . Пример 4.Если функция задана параметрическими уравнениями , то её производная находится по формуле :. Вторая производная находится по формуле : ; ; Занятие № 16. Дифференциал функции. Применение дифференциала для приближенных вычислений.Цель занятия: Научить находить дифференциал первого и высших порядков, а также применять его для приближенных вычислений. Дифференциалом функции называется главная часть ее приращения, линейная относительно приращения аргумента. Дифференциалом аргумента называется приращение аргумента:. Дифференциал функции равен произведению ее производной на дифференциал аргумента: Основные свойства дифференциала:
- .
Если приращение аргумента мало по абсолютной величине, тои. Таким образом, дифференциал функции может применятся для приближенных вычислений. Пример 1. Найти дифференциал функции Пример 2. Найти дифференциал функции Пример 3. Найти дифференциалы первого, второго и третьего порядков функции .Пример 4. Найти дифференциалы первого и второго порядков функции . Пример 5. Сравнить приращение и дифференциал функции . Пример 6. Вычислить приближенное значение arcsin 0,51. Пример 7. Вычислить приближенное значение площади круга, радиус которого равен 3,02 м. Пример 8. Вычислить приближенное значение объема шара радиуса 2,01 м. Занятие № 17. Правило Лопиталя.Цель занятия: Научить вычислять пределы по данному правилу. Правило Лопиталя. Если функции ибесконечно малые или бесконечно большие при, дифференцируемы в окрестности точки,в окрестности этой точки, существует, то существуети справедливо равенство:. Эта теорема справедлива и при и позволяет раскрывать неопределённостии. Другие виды неопределённостей приводят к этим двум преобразованием выражения под знаком предела. Найти указанные пределы, используя правило Лопиталя.Пример 1.Здесь неопределённость вида . Применяя правило Лопиталя, имеем Пример 2.Здесь для получения результата приходится применять правило Лопиталя дважды, так как и данное отношение и отношение производных приводят к неопределённости типа . Повторные применения правила Лопиталя записываются обычно в одну цепочку равенств. Пример 3.Здесь неопределённость вида . Положим. Логарифмируя и применяя правило Лопиталя, получим Таким образом, Пример 4.Это – неопределённость вида . Положими прологарифмируем: Применяя правило Лопиталя, получим , т.е. Занятие № 18. Исследование функций с помощью производной.Цель занятия: Показать на примерах различные способы исследования для разных функций. Если в некоторой окрестности точки выполняется неравенствоили, то точканазываетсяточкой экстремума функции (соответственно точкой максимума или минимума).Необходимое условие экстремума: если – экстремальная точка функции, то первая производнаялибо равна нулю или бесконечности, либо не существует.Достаточное условие экстремума: является экстремальной точкой функции, если её первая производнаяменяет знак при переходе через точку: с плюса на минус – при максимуме, с минуса на плюс – при минимуме. Кривая вогнута вверх (обозначают ) на интервале , если в каждой точке этого интервала выполнено условиеприивогнута вниз (обозначают ), если при. Точка называетсяточкой перегиба кривой , если при переходе через точку меняется направление выпуклости.Необходимое условие точки перегиба: если — точка перегиба кривой, то вторая производнаялибо равна нулю или бесконечности, либо не существует.Достаточное условие точки перегиба: является точкой перегиба кривой, если при переходе через точкувторая производнаяменяет знак. Прямая являетсянаклонной асимптотой кривой , если расстояние от точки кривой до этой прямой стремится к нулю при. При этом . При имеемгоризонтальную асимптоту: Если то прямаяназываетсявертикальной асимптотой.Пример 1. Найти наибольшее и наименьшее значения функции на отрезке. Решение. Наибольшее и наименьшее значения функции на замкнутом интервале достигаются или в точках экстремума, которые являются критическими точками функции, или на концах интервала. Задача сводится к сравнению между собой значений функции в указанных точках. Находим стационарные точки: Определяем значение функции в этих точках и на концах интервала Среди полученных значений выбираем наибольшее и наименьшее Пример 2. Найти интервалы возрастания и убывания функции . Пример 3. Исследовать на экстремум функцию . Пример 4. Исследовать на экстремум функцию . Пример 5. Найти наибольшее и наименьшее значения функции на отрезке [-2; 3]. Пример 6. Найти интервалы выпуклости и вогнутости кривой . Пример 7. Найти точки перегиба кривой .Пример 8. Найти асимптоты кривой .Занятие № 19. Исследование функции с помощью производной и построение графиков.Цель занятия: научить проводить полное исследование функции и строить графики. Общая схема построения графика функции
- Найти область определения.
- Исследовать функцию на симметричность.
- Исследовать функцию на периодичность.
- Определить точки пересечения графика функции с координатными осями.
- Найти интервалы монотонности и точки экстремума функции.
- Найти интервалы выпуклости, вогнутости графика функции и точки перегиба.
- Выяснить существование асимптот.
- Построить график функции.
Провести полное исследование указанных функций и построить их графики.Пример 1. .
29.02.2016 217.6 Кб 10 ДКБ безнал из УМК 2012.doc
29.02.2016 1.47 Mб 130 ДКБ Кравцова 2010.doc
29.02.2016 560.64 Кб 92 дкб.doc
29.02.2016 121.86 Кб 22 Для печати.doc
26.08.2019 147.46 Кб 3 Для практики Ревизия.doc
29.02.2016 2.27 Mб 10 Для практических работ 1.doc
29.02.2016 1.65 Mб 2 Для практических работ 2.doc
29.02.2016 283.52 Кб 3 Для работы № 9.rtf
29.02.2016 134.14 Кб 43 Для работы №10.doc
02.09.2019 233.98 Кб 29 дневник отчет.doc
29.02.2016 15.11 Кб 43 Дневник по учебной практике Фотограмметрия.docx
Ограничение
Для продолжения скачивания необходимо пройти капчу:
Как правильно дифференцировать дискретные функции (Часть 2. Все-таки, МКЭ?)
В части первой обсуждались алгоритмы вычисления первой производной дискретной функции (функции, заданной массивом , или массивом значений в узлах на равномерной сетке). Были протестированы функции Python numpy.diff и numpy.gradient (других в Python так и не нашлось), и был предложен алгоритм improved, который, как выяснилось, работает хорошо, но не всегда. При этом проблемы возникают на концах отрезка, на котором определена дифференцируемая функция. Во второй части поработаем с методом конечных элементов (МКЭ, Finite Elements Method), и попробуем построить алгоритм вычисления первой производной, наилучший по точности, и, по возможности, без “слабых мест”.
Во избежание разногласий (а они были в комментариях к части первой) еще разок об объекте исследования. В части первой было сделано одно не совсем корректное допущение. Все исследуемые массивы «визуально» были представлены с точностью до 3-х знаков после запятой. Однако в расчетах использовались точные значения, сгенерированные функциями numpy.exp(x) или x**3. Точность, естественно, была ограничена ошибками машинного округления. Поскольку в этой части повествования мы действуем более аккуратно, то рассматриваться будут дискретные функции, заданные именно массивами с точностью до 4-го знака после запятой. Например, таким:
У этой дискретной функции есть прекрасное свойство — ее первая производная очень похожа на ее саму. Это свойство будет использовано для иллюстрации точности решений разными способами. А о том, что массив сгенерирован экспонентой, забываем и запрещаем в коде использовать функцию numpy.exp(x).
Кроме массива (1) будут исследованы еще несколько других массивов. На них можно посмотреть здесь:
Массивы (дискретные функции) для исследования
Сгенерировано кубической параболой на отрезке :
Первая производная для оценки точности результатов:
Сгенерировано функцией на отрезке :
Первая производная для оценки точности результатов:
Про дискретную функцию (1) мы также знаем, что эта функция задана на отрезке , разделенном на части с равномерным шагом h=0.1. Алгоритм numpy.diff мы из рассмотрения исключим, как “наихудший” из-за несохранения размерности массива данных, и соревнование будет проводиться между остальными двумя ( numpy.gradient и improved), а также новыми алгоритмами, построенными на МКЭ.
Немного теории. Нудновато, но полезно
Я поначалу хотел убрать теоретическую часть в скрытый текст, но в результате получилось совсем немного математики, и, скорее, определение используемых терминов, к которым далее по тексту приходится часто возвращаться.
В рассматриваемом случае МКЭ фактически означает аппроксимацию искомой функции (а также ее первой и даже второй (. ) производных) кусочно-линейными функциями с последующим решением системы линейных уравнений относительно параметров аппроксимации. Поэтому, если теория, коротко изложенная в этом разделе, покажется не очень простой для восприятия, этот раздел можно пропустить. Общая логика изложения должна быть понятна.
В описании МКЭ присутствует своего рода дуализм. Часто встречающаяся формулировка начинается с разбиения исследуемой области на мелкие части — собственно конечные элементы. В одномерном случае это отрезки, в двумерном — треугольники или 4-угольники, в трехмерном — тетраэдры и т.д. “Внутри” каждого элемента функция представляется достаточно простой, например, линейной. И далее строится система линейных уравнений для вычисления значений функций в узлах, минимизирующих некоторый функционал типа потенциальной энергии или функции ошибок. Мы пойдем другим, более формализованным путем, который (для начала, в одномерном случае) выглядит следующим образом:
Пусть на отрезке задано множество функций , достаточно «хороших» для наших задач — не обязательно непрерывных, но хотя бы квадратично интегрируемых. Для всех таких функций определяется скалярное произведение, например:
, которое определяет меру (модуль функции) :
Кроме этого, на этом же отрезке задается конечный (что, вообще говоря, не обязательно) набор базисных функций (базис):
Изначальная задача — найти набор констант
таких, что линейная комбинация базисных функций с коэффициентами “наилучшим образом” аппроксимирует исследуемую функцию , т.е. обеспечивается минимум модуля их разности ( он же — функция ошибки, если придерживаться терминологии ML):
Для этого необходимо равенство нулю всех частных производных
Это и есть система n+1 линейных уравнений для нахождения n+1 неизвестных величин . В простейшей версии МКЭ для одномерного случая в качестве базисного набора функций выбираются “функции-крышки” — кусочно-линейные функции , такие, что
В этом случае коэффициенты суть не что иное как приближенные значения функции в узлах сетки , что можно обозначить как , а функция аппроксимируется конечно-линейной функцией — линейной комбинацией базисных функций:
Важное замечание, в том числе, по терминологии
В дальнейшем изложении кусочно-линейная функция иногда будет называться вектором . Этот вектор состоит из коэффициентов разложения функции по базису .
В общем случае, коэффициенты разложения , вообще говоря, не совпадают со значениями функции в узлах . Они близки к значениям функции в узлах только потому, что функции базиса выбраны специальным образом — «функций-крышек». Однако, если функция — кусочно-линейная и является линейной комбинацией «функций-крышек», то такое совпадение, очевидно, имеет место, и в этом случае функция сама является своей же точной аппроксимацией, и представима в виде вектора своих узловых значений, что и имеется в виду.
Опуская выкладки, итоговую систему линейных уравнений (3) можно представить в следующем виде:
где G — квадратная матрица с компонентами :
где i, j = 0, …, n, вектор — есть вектор-столбец из неизвестных величин , а вектор -есть вектор-столбец из значений , где i = 0, …, n.
Матрица G как 2-мерный массив скалярных произведений базисных функций часто встречается в различных разделах математики типа дифференциальной геометрии или МДТТ, и имеет много красивых названий — фундаментальный тензор, метрический тензор, матрица жесткости и т.п. Соответственно, решение системы (4) можно представить в виде:
, где — вектор-столбец из значений , и вектор (эквивалентный набору векторов ) называется “сопряженным базисом” и находится по формуле:
Рассмотренный выше метод аппроксимации функции называется, соответственно, методом сопряженных аппроксимаций или методом наилучших аппроксимаций. “Наилучшесть” понимается, естественно, в терминах меры или другой меры, выбранной для задания скалярного произведения функций.
На практике матрицу G обычно явно не обращают, поскольку это очень затратная операция. Полезное свойство матрицы G в нашем (одномерном) случае — трехдиагональность, т.е. все ее ненулевые элементы расположены на главной диагонали (i = j) и на двух соседних диагоналях (| i — j | = 1). При этом система уравнений (4) решается прогонкой, с количеством операций O(n).
Функции-компоненты сопряженного базиса также обычно не вычисляют, однако ниже мы впрямую встретимся с ними, что лично мне кажется достаточно эстетичным.
МКЭ способ 1 («лобовой»)
Итак, начинаем применять теорию на практике. В прошлом дискретная, а теперь кусочно-линейная функция задана массивом значений (1) на отрезке с шагом h = 0.1, т.е. набором значений . При этом:
где — элементы массива (1), а — «функции-крышки». Необходимо найти ее первую производную, или, если точнее, наилучшую аппроксимацию первой производной, “натянутую” на базис .
Важный комментарий для понимания алгоритма
Производная кусочно-линейной функции, если ее считать как обычно, будет кусочно–постоянной и не непрерывной функцией с «разрывами» в узлах , в которых производная не определена. В МКЭ мы ищем ее наилучшую (в смысле меры ) кусочно-линейную аппроксимацию, что можем сделать, вообще говоря, для функции любого вида.
Обозначим первую производную функции как , и будем искать ее аппроксимацию на множестве линейных комбинаций функций-крышек, т е. в виде
, где значения сразу дадут нам искомые значение производной в узлах. Функция ошибки принимает вид:
Раскрываем квадратные скобки под интегралом, “выкидываем” первое слагаемое, поскольку оно не зависит от , и при дифференцировании все равно пропадет, затем ко второму слагаемому применяем интегрирование по частям, после этого система уравнений (3) (про равенство нулю всех частных производных по принимает вид:
где и — суть первый и последний элементы массива (1), соответственно, а — вектор из скалярных произведений первых производных базисных функций и исходной функции . Поскольку базисные функции кусочно линейны, их производные будут кусочно-постоянны, и легко интегрируются.
Конкретный вид матрицы жесткости G и правой части уравнения (7) здесь:
Вектор-столбец в правой части уравнения (7):
Как уже говорилось выше, решаем систему прогонкой, поскольку матрица жесткости — трехдиагональная. Результаты расчета по новому алгоритму FEM представлены на рисунках.
В середине отрезка у всех 3-х алгоритмов точность примерно одинакова, а проблемы, как обычно, на концах. При этом FEM устойчиво показывает результаты лучше, чем numpy.gradient, но хуже, чем improved.
Алгоритм FEM был также протестирован на дискретном аналоге кубической параболы . Вблизи нуля ситуация поменялась в лучшую для FEM сторону:
На левом конце отрезка FEM практически точно ложится на тестовое решение. Вблизи правого конца отрезка «расклад сил» похож на Рис.3.
Подводя итог этого раздела, можно заключить, что «лобовой» метод расчета первой производной с использованием МКЭ ( в его простейшей версии, с «функциями-крышками») устойчиво лучше, чем метод numpy.gradient, но не дает существенного преимущества по сравнению с алгоритмом improved. Возможно ли все-таки на основе МКЭ построить что-то получше? Оказывается, да.
МКЭ способ 2 («продвинутый»)
В основе этого алгоритма лежит, на первый взгляд, парадоксальная идея — чтобы точнее посчитать первую производную функции, надо сразу считать вторую производную. Аналогично выражению (6) представим функцию ошибки для второй производной функции в виде:
где — вторая производная функции , которая, в свою очередь, представлена выражением (5). Казалось бы, вторая производная кусочно-линейной функции — тождественный (кроме точек разрыва) ноль. Ан нет, все не так просто. Повторяем процедуру так же, как в прошлом разделе. Раскрываем квадратные скобки под интегралом, “выкидываем” первое слагаемое, поскольку оно не зависит от , и при дифференцировании все равно пропадет, ко второму слагаемому применяем интегрирование по частям, после этого система уравнений (3) (про равенство нулю всех частных производных функции ошибки по переменным принимает вид (аналогично уравнению (7)):
где — первая производная функции , т.е. кусочно-постоянная функция, которая легко интегрируется в произведении с производными базисных функций — тоже кусочно-постоянными функциями, а и — значения первой производной на левом и правом концах отрезка , соответственно. При всем этом —
значения и заранее неизвестны и пока непонятно, откуда их взять.
Какая при этом получается система линейных уравнений? Матрица жесткости G остается такой же, как в предыдущем разделе (см. спрятанный текст выше), а вектор в правой части уравнения (9) (обозначим его ) заслуживает подробного рассмотрения. Его можно представить в виде трех слагаемых:
Подробный вид слагаемых-векторов можно посмотреть здесь:
А значит, решение системы системы уравнений (9), представленной в виде:
в свою очередь, представимо в виде:
где — решения 3-х систем линейных уравнений с одной и той же матрицей жесткости G и векторами в правой части , соответственно. Эти три вектора-решения являются представлениями кусочно-линейных функций, “разложенных” по базису , причем компоненты каждого вектора являются коэффициентами при базисных «функциях-крышках» в этом разложении. Вектора ( т.е. функции) для нашего исследуемого массива (1) представлены на рис.5.
Зеленый и красный графики почти сливаются на левом конце отрезка, поскольку разница между ними порядка 1, а масштаб рисунка по вертикали значительно больше (значение в нуле порядка 40). Заметим, что вектора и — не что иное как представление двух функций из сопряженного к базиса, а именно, функций и . Вот мы и встретились с сопряженным базисом, как было обещано в начале публикации.
Задача нахождения вектора из выражения (10) поначалу выглядит достаточно сложной. Необходимо провести оптимизацию по двум параметрам и , причем цель оптимизации (типа минимизации какой-то новой функции ошибки) пока даже не сформулирована. Но если внимательно посмотреть на Рис.5, то можно заметить, что все три вектора из (10) имеют ярко выраженной «пилообразный» характер. Поэтому сформулируем:
Цель оптимизации — вычисление вектора , соответствующего «наименее пилообразной» функции, т.е. наиболее гладкой аппроксимации
На рис.5 хорошо видно, что для обоих участвующих в процессе сопряженных вектора и вся их пилообразность “сосредоточена” вблизи концов отрезка — вблизи левого конца отрезка для вектора (функции) с номером 0 (зеленый цвет) и вблизи правого конца отрезка для вектора (функции) с номером n (синий цвет). Сформулируем две гипотезы:
Гипотеза 1. Оптимизацию выражения (10) по двум параметрам и можно проводить независимо по каждому параметру отдельно. Первый будет отвечать за “гладкость” искомого вектора ( т.е. функции ) слева, а второй — справа.
Гипотеза 2. В качестве “меры пилообразности” можно взять угол между первым и вторым звеньями ломаной для нахождения оптимального значение параметра и угол между последним и предпоследним звеньями ломаной для нахождения оптимального значения параметра . Вычислять будем косинус угла между звеньями, который, естественно, должен быть максимален в обоих случаях. Оптимизацию (поиск максимума косинуса) можно проводить разными хорошо известными методами, мы на этом останавливаться не будем.
Для оконгчательного решения поставленной задачи осталось по узловым значениям второй производной ( а это — вектор, он же набор узловых значений ) восстановить набор узловых значений первой производной, например, так:
где определено как значение первого параметра оптимизации. Оказалось, что эти две гипотезы прекрасно работают. Посмотрим на результат (solution) и сравним его с альтернативами. Сначала для экспоненты (ой, обещал забыть название функции):
Теперь для кубической параболы (ой, опять вспомнил название):
Похоже, solution по точности превосходит остальные алгоритмы. Причем, как также выяснилось, не только на концах отрезка. Во внутренних точках его точность также выше.
По секрету сообщаю, что сравнил результаты для функции .
Пожалуй, на этом пора заканчивать вторую часть изложения, и так довольно объемно получилось. Похоже, вызревает третья часть. Я все-таки не выполнил обещанное коллеге по результатам обсуждения публикации. Держу в запасе еще один алгоритм нахождения первой производной, который движется ближе к интерполяции. Собственно, из него и возникла идея нахождения второй производной как непрерывной кусочно-линейной функции. Но, как часто бывает, тема сама собой увела в сторону модификации на основе МКЭ.
Наверное, в третью часть также добавлю Python-листинг. Пока код существует в Jupiter Notebook и требует доведения до презентабельного вида. Ну и кое-какие мелочи еще требуется доработать.
Спасибо за внимание. Буду благодарен за комменты и отзывы.
- Численное дифференцирование
- метод конечных элементов
- алгоритмы
- аппроксимации
- оптимизация
- мкэ
- Finite elements method
- FEM