Приклад безперервної функції, яку важко наблизити до многочленів


16

Для навчальних цілей мені знадобиться безперервна функція однієї змінної, яку "важко" наблизити до поліномів, тобто для ряду потужностей потрібні дуже високі потужності, щоб "добре" вписати цю функцію. Я маю намір показати своїм студентам "межі" того, що можна досягти за допомогою силових рядів.

Я думав про те, щоб придумати щось "галасливе", але замість того, щоб розгорнути своє, мені просто цікаво, чи існує якась стандартна "складна функція", яку люди використовують для тестування алгоритмів наближення / інтерполяції, дещо подібну до тих тестових функцій оптимізації, які мають численні локальні мінімуми, де наївні алгоритми легко застрягають.

Вибачте, якщо це питання недостатньо сформоване; будь ласка, помилуй не-математика.

Відповіді:


14

Чому б просто не показати функцію абсолютного значення?

Наближення, наприклад, розширення Legendre-polynomial, але досить погано :

Послідовне наближення функції абсолютного значення поліномами

Розширення Тейлора, звичайно, тут абсолютно марно, завжди надаючи лише лінійну функцію, або завжди зменшуючись, або завжди збільшуючись (залежно від того, чи точка, яку ви розширюєте, негативна чи позитивна).


Ви можете інтерполювати | x | використовуючи інтерполяцію Чебишева, див. nbviewer.jupyter.org/github/cpraveen/na/blob/master/…, який конвертується досить швидко. Наприклад, ви можете змінити N = 2 * i в коді на N = 15 + i і протестувати більшу ступінь. Це не метод розширення, але все ще заснований на поліномах.
cfdlab

@PraveenChandrashekar Чебишев працює «краще», оскільки додає більше ваги зовнішнім частинам інтервалу, де функція гладка. Таким чином, уникнути надмірного коливання, але сказати, що він наближає функцію краще, сумнівно - це, зокрема, фіксує різкий поворот при навіть гірше, ніж рівномірні-дискретні точки або L 2 -мінімізація. Якщо ваша мета - уникнути високочастотних компонентів, краще використовуйте цілісну трансформацію, яка належним чином затухає ці компоненти. x=0L2
близько

Цілком чудово мати неоднорідні точки, як у інтерполяції Чебишева. Маючи ступінь близько 20, це дає набагато більш точне наближення, ніж Legendre, який ви показуєте у своєму дописі. Виміряйте помилки, щоб бути більш кількісними. Ви також можете зробити наближення рядів Чебишева | x | що точніше, ніж розширення Legendre.
cfdlab

@PraveenChandrashekar справа в тому, що поліноми в принципі не в змозі наблизити функцію, як належним чином. Існують різні методи, кожен з яких виходить з ладу трохи більш ефектно, але жоден з них не працює добре в сенсі "лише кілька термінів дають щось, що може бути прийнято за початкову функцію". Якщо ви повинні використовувати поліноми, вам слід врахувати, які види помилок є більш проблематичними, і Легендр, і Чебишев мають свої випадки використання, але срібної кулі немає. Зрештою, підхід із, наприклад, шпонами, як правило, є більш ефективним. х|х|
1818

Ми знаємо, що немає ідеального методу. Питання в тому, які функції складно наблизити до поліномів. Тож треба побачити всі можливі методи, що включають поліноми, щоб зробити висновок, що жоден з них не робить хорошої роботи. Легенда - це не найкращий спосіб наблизити | x | і, отже, створюється досить хибне враження, що поліноми занадто погані для | x |. З Чебишевим у вас конвергенція і набагато кращі наближення, ніж у Legendre, вони не коливаються так сильно, як Legendre, хоча й сходяться повільно поблизу x = 0, де функція недостатньо гладка.
cfdlab


6

Наближення ускладнюється не лише функцією, яка наближається, але і тим інтервалом, в якому наближення повинно бути "гарним пристосуванням". І ви повинні визначити міру для "гарного пристосування", тобто яка максимальна (абсолютна чи відносна) помилка, яку ви бажаєте допустити?

досвід(х)[0,10]. Те саме стосується періодичних функцій. Прийматигріх(х), наприклад, на проміжку [0,2π]. Дивіться фотографії нижче ... enter image description hereenter image description here


Я показую такі приклади в своєму курсі, щоб підкреслити, що розширення Тейлора не є хорошим методом наближення функцій.
cfdlab

6

Поліноми надзвичайно ефективні при наближенні функції [1]. Якщо у вас є принаймні ліпшицька безперервність, то наближення Чебишева будуть сходитися. Звичайно, конвергенція може бути повільною, і це ціна, яку ми платимо за справу з не плавною функцією.

Сьогодні комп'ютери набагато швидше, ніж дні, коли були написані численні книги чисельних аналізів, а розумні алгоритми ще більше збільшували швидкість, так що використання більшої кількості термінів може бути не так вже й погано, як раніше.

Такі патологічні приклади, як функція монстра Ваєрштрасса, цікаві з теоретичної точки зору, але вони не є репрезентативними для більшості реальних контекстів застосування.

Я думаю, що ми повинні бути обережними, щоб не надавати песимістичного погляду нашим студентам. Гаразд, не існує методу, який би працював на всі проблеми. Але ми можемо побудувати адаптивні методи, скажімо, навіть на основі многочленів, які можуть мати справу з такими випадками. Наприклад, Chebfun [2] може легко наблизитись|х| шляхом автоматичного поділу домену на х=0.

Важливо навчити труднощам у наближенні до поліномів, але також важливо сказати студентам, що ми можемо будувати оцінки помилок та адаптаційні алгоритми, які можуть вирішити ці проблеми.

[1] https://people.maths.ox.ac.uk/trefethen/mythspaper.pdf

[2] http://www.chebfun.org


+1 за зв'язок "міфу" Ллойда Трефтефена, дуже хороше опитування теми IMO, дякую.
Laryx Decidua

2

f(х)=1х2+1 має це розширення серії Maclaurin:

1х2+1=1-х2+х4-х6+х8-х10+х12-

Це сходиться для -1<х<1, але це розходиться скрізь. Поліномічне наближення навколох=0 ніколи не знайде вас ніде поблизу правильної відповіді х=2.


0

у=сiн(х)? Періодичні функції повинні бути важкими для наближення за допомогою многочленів, якщо тільки немає можливості обмежити поліноми обмеженими інтервалами.


Або навіть у=гріх(1х)якщо ви хочете похмуріти навколо походження.
sfmiller940
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.