Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Maple 9.5/10 Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Ρ„ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 66

Автор Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”ΡŒΡΠΊΠΎΠ½ΠΎΠ²

5.8.2. Π Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ряд Π›ΠΎΡ€Π°Π½Π°

Для разлоТСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f Π² ряд Π›ΠΎΡ€Π°Π½Π° с порядком n Π² окрСстности Ρ‚ΠΎΡ‡ΠΊΠΈ x=Π° (ΠΈΠ»ΠΈ x=0) слуТит функция laurent:

laurent(f, Ρ…=Π°, n)

laurent(f, x, n)

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ разлоТСния Π² ряд Π›ΠΎΡ€Π°Π½Π°:

> laurent(f(Ρ…),Ρ…=0,4);

f(0) + D(f)(0)x + Β½(D(2)(f)(0)x2 + β…™(D(3)(f)(0)x3 + O(Ρ…4)

> laurent(exp(Ρ…),Ρ…,5);

5.8.3. ПадС-аппроксимация аналитичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Для аппроксимации аналитичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… являСтся ПадС-аппроксимация, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ заданная функция приблиТаСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π²ΡƒΡ… ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ². Π­Ρ‚Π° аппроксимация способна ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π° исходной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с устрСмлСниями Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ (ΠΏΡ€ΠΈ нулях ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° знамСнатСля. Для осущСствлСния Ρ‚Π°ΠΊΠΎΠΉ аппроксимации ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция pade:

pade(f, Ρ…=Π°, [m,n])

pade(f, Ρ…, [m,n])

Π—Π΄Π΅ΡΡŒ f β€” аналитичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ функция, x β€” пСрСмСнная, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ записываСтся Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΡŽΡ‰Π°Ρ функция, a β€” ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся аппроксимация, m, n β€” ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ стСпСни ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² числитСля ΠΈ знамСнатСля. Π’Π΅Ρ…Π½ΠΈΠΊΡƒ аппроксимации ПадС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ поясняСт рис. 5.17.

Рис. 5.17. Аппроксимация ПадС для ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ


На рис. 5.17 прСдставлСна аппроксимация ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ построСны Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Под Π½ΠΈΠΌΠΈ Π΄Π°Π½ Ρ‚Π°ΠΊΠΆΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ для этого Π²ΠΈΠ΄Π° аппроксимации. НСтрудно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [-Ο€, Ο€] ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΠΊΠΎ возрастаСт Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° аппроксимации.

Π’Π°ΠΆΠ½Ρ‹ΠΌ достоинством ПадС-аппроксимации являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ довольно Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ приблиТСния Ρ€Π°Π·Ρ€Ρ‹Π²Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠ»ΠΈ знамСнатСля Ρƒ Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ выраТСния способны ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ссли Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ аппроксимации число Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ. На рис. 5.18 прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ПадС-аппроксимации Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ tan(x) Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΎΡ‚ -4,5 Π΄ΠΎ 4,5, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΌ Π΄Π²Π° Ρ€Π°Π·Ρ€Ρ‹Π²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Рис. 5.18. Аппроксимация ПадС для Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ тангСнса


Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· рис. 5.18, расхоТдСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ тангСнса ΠΈ Π΅Π΅ Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π΅Π΄Π²Π° Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ лишь Π½Π° краях ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° аппроксимации. Оба Ρ€Π°Π·Ρ€Ρ‹Π²Π° прСкрасно ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡŽΡ‚ΡΡ Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ выброса ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ Π² Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Ρ€Π°Π·Ρ€Ρ‹Π²Π° Π½Π΅Ρ‚. Π’Π°ΠΊΠΎΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ аппроксимации подтвСрТдаСтся ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ, которая лишь Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° аппроксимации [-4.0, 4.0] достигаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 0,01 (ΠΎΠΊΠΎΠ»ΠΎ 1%).

5.8.4. ПадС-аппроксимация с ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°ΠΌΠΈ Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π°

Для ΠΌΠ½ΠΎΠ³ΠΈΡ… аналитичСских зависимостСй Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π΄Π°Π΅Ρ‚ аппроксимация ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°ΠΌΠΈ Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π°. ΠŸΡ€ΠΈ Π½Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ являСтся Π²Ρ‹Π±ΠΎΡ€ ΡƒΠ·Π»ΠΎΠ² аппроксимации, Ρ‡Ρ‚ΠΎ Π²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ аппроксимации.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС примСняСтся ПадС-аппроксимация, характСрная прСдставлСниСм Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π°. Она рСализуСтся функциями chebpade:

chebpade(f, x=a..b, [m,n])

chebpade(f, x, [m,n])

chebpade(f, a..b, [m,n])

Π—Π΄Π΅ΡΡŒ a..b Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ аппроксимации, m ΠΈ n β€” ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ стСпСни числитСля ΠΈ знамСнатСля ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π°. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠ°Ρ†ΠΈΡŽ ПадС ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°ΠΌΠΈ Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π° для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f=cos(x):

> Digits:=10:chebpade(cos(x),x=0..1,5);

0.8235847380 T(0, 2x-1) - 0.2322993716 T(1, 2 x-1) - 0.05371511462 T(2, 2x-1) + 0.002458235267 T(3, 2 Ρ…-1) + 0.0002821190574 T(4, 2x-1) - 0.7722229156-5 T(5, 2x-1)

> chebpade(cos(x),x=0..1,[2,3]);

(0.8162435876 T(0, 2x-1) - 0.1852356296 T(1, 2x-1) - 0.05170917481 T(2, 2x-1))/(T(0, 2x-1) + 0.06067214549 T(1, 2x-1) + 0.01097466398 T(2, 2x-1) + 0.0005311640964 T(3, 2 x-1))

5.8.5. ΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ минимаксная аппроксимация

Минимаксная аппроксимация отличаСтся ΠΎΡ‚ ПадС-аппроксимации ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ максимальной Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ Π²ΠΎ всСм ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ аппроксимации. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π Π΅ΠΌΠ΅Π·Π° (см. Π½ΠΈΠΆΠ΅) ΠΈ рСализуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ:

minimax(f, x=a..b, [m,n], w, 'maxerror')

minimax(f, a..b, [m,n], w, 'maxerror')

Π—Π΄Π΅ΡΡŒ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², w β€” ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, maxerror β€” пСрСмСнная, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ приписываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ minimax-Π½ΠΎΡ€ΠΌΡ‹. НиТС Π΄Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ аппроксимации Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ cos(x) Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [-3, 3]:

> minimax(cos(Ρ…),Ρ…=-3..3,[2,3],1,'minmax');

> minimax;

.04621605601

5.8.6. ΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ минимаксная аппроксимация ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π Π΅ΠΌΠ΅Π·Π°

Для получСния Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅ΠΉ полиномиальной аппроксимации ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π Π΅ΠΌΠ΅Π·Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ функция:

remez(w, f, a, b, m, n, crit, 'maxerror')

Π—Π΄Π΅ΡΡŒ w β€” ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ w(x) > 0 Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [a, b], f β€” ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f(Ρ…), Π° ΠΈ b β€” числа, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» аппроксимации [a, b], m ΠΈ n β€” стСпСни числитСля ΠΈ знамСнатСля Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, crit β€” массив, индСксированный ΠΎΡ‚ 1 Π΄ΠΎ m + n + 2 ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΡ†Π΅Π½ΠΎΠΊ Π² критичСских Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π΅ΠΊ максимума/ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° ΠΊΡ€ΠΈΠ²Ρ‹Ρ… ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ), maxerror β€” имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ присваиваСтся минимаксная Π½ΠΎΡ€ΠΌΠ° w abs(f-r).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для аппроксимации Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ erf(x):

> Digits:=12:w:=proc(Ρ…) 1.0 end;

w:= proc(x) 1.0 end proc

> f:=proc(x) evalf(erf(x)) end;

f: = proc(x) evalf (erf (x)) end proc

> crit:=array(1..7, [0, .1,.25,.5,.75,.9,1.]);

crit := [0, .1, .25, .5, .75, .9, 1.]

> remez(w,f,0,1,5,0,crit,'maxerror');

x→0.0000221268863 + (1.12678937620 + (0.018447321509 + (-0.453446232421 + (0.141246775527 + 0.00966355213050 x) x) x) x) x

> maxerror;

0.0000221268894463

5.8.7. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° numapprox

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π° numapprox:

chebdeg(p) β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π° Ρ€;

chebmult(p, q) β€” ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π° p ΠΈ q;

chebsort(e) β€” сортируСт элСмСнты ряда Π§Π΅Π±Ρ‹ΡˆΠ΅Π²Π°;

confracform(r) β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ r Π² Ρ†Π΅ΠΏΠ½ΡƒΡŽ Π΄Ρ€ΠΎΠ±ΡŒ;

confracform(r, Ρ…) β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ r Π² Ρ†Π΅ΠΏΠ½ΡƒΡŽ Π΄Ρ€ΠΎΠ±ΡŒ с нСзависимой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ…;

hornerform(r) β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ r Π² Ρ„ΠΎΡ€ΠΌΡƒ Π“ΠΎΡ€Π½Π΅Ρ€Π°;

hornerform(r, Ρ…) β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ r Π² Ρ„ΠΎΡ€ΠΌΡƒ Π“ΠΎΡ€Π½Π΅Ρ€Π° с нСзависимой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ…;

infnorm(f, x=a…b, 'xmax') β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ L-Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Π½ΠΎΡ€ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅ Ρ…[Π°, b];

infnorm(f, a…b, "xmax") β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ L-Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Π½ΠΎΡ€ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅ [Π°, b].

ДСйствиС этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ€Π°Π±ΠΎΡ‚Π΅.

5.9. ΠŸΠ°ΠΊΠ΅Ρ‚ приблиТСния ΠΊΡ€ΠΈΠ²Ρ‹Ρ… CurveFitting

5.9.1. ΠžΠ±Ρ‰Π°Ρ характСристика ΠΏΠ°ΠΊΠ΅Ρ‚Π° Curve Fitting

Появившийся Π΅Ρ‰Π΅ Π² Maple 7 ΠΏΠ°ΠΊΠ΅Ρ‚ приблиТСния ΠΊΡ€ΠΈΠ²Ρ‹Ρ… CurveFitting вСсьма ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ занимаСтся ΡΡ‚ΠΎΠ»ΡŒ распространСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡ€ΠΈΠ²Ρ‹Ρ…. Он содСрТит ряд Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

> with(CurveFitting);

[BSpline, BSplineCurve, Interactive, LeastSquares, PolynomialInterpolation, RationalInterpolation, Spline, ThieleInterpolation]

Доступ ΠΊ функциям ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкций:

CurveFitting[function](arguments) function(arguments)

Число Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅Π²Π΅Π»ΠΈΠΊΠΎ ΠΈ всС ΠΎΠ½ΠΈ описаны Π½ΠΈΠΆΠ΅.

5.9.2. Ѐункция вычислСния Π’-сплайнов Bsline

Ѐункция BSpline(k, v, opt) слуТит для вычислСния Π’-сплайнов. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… сплайнов, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ стыковки сплайн-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΠ·Π»ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π’-сплайны ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ стыковку Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°Ρ…. Указанная функция ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: k β€” порядок сплайна (Ρ†Π΅Π»ΠΎΠ΅ число), v β€” имя ΠΈ opt β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² Π²ΠΈΠ΄Π΅ knots=knotlist, Π³Π΄Π΅ knotlist β€” список ΠΈΠ· k+1 элСмСнтов алгСбраичСского Ρ‚ΠΈΠΏΠ°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ CurveFitting[BSplineCurve] ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΠ²Ρ‹Π΅ Π’-сплайнов. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСдставлСны Π½ΠΈΠΆΠ΅:

> BSpline(3, Ρ…);

> BSpline(2, Ρ…, knots=[0,a,2]);

Как Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ· этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², функция Bspline Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π²ΠΈΠ΄Π΅ кусочных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ° piecewise.

5.9.3. Ѐункция построСния B-сплайновых ΠΊΡ€ΠΈΠ²Ρ‹Ρ… BsplineCurve

Ѐункция BsplineCurve слуТит для построСния ΠΊΡ€ΠΈΠ²Ρ‹Ρ… B-сплайнов. Она ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ…:

BSplineCurve(xydata, v, opts)

BSplineCurve(xdata, ydata, v, opts)

Π—Π΄Π΅ΡΡŒ:

xydata β€” список, массив ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ‚ΠΎΡ‡Π΅ΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ΅ [[Ρ…1,Ρƒ1],[Ρ…2,Ρƒ2],…,[Ρ…n,Ρƒn]];

xdata β€” список, массив ΠΈΠ»ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ нСзависимой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ [Ρ…1,Ρ…2,…,Ρ…n];

ydata β€” список, массив ΠΈΠ»ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ зависимой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ΅ [Ρƒ1,Ρƒ2,…,Ρƒn];

v β€” имя нСзависимой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ;

opts β€” Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π° order=k ΠΈΠ»ΠΈ knots=knotlist.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ BSplineCurve с порядком, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ с Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ порядком (кубичСский B-сплайн), прСдставлСны Π½Π° рис. 5.19.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΌΠ°Π»ΠΎΠΌ числС Ρ‚ΠΎΡ‡Π΅ΠΊ стыковки аппроксимация B-сплайнами Π΄Π°Π΅Ρ‚ Π½Π΅Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· рис. 5.19.