Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 50
Текст из файла (страница 50)
352 Глава 5. Анализ функциональньск зависимостей и обработка данных 5.9.3. Функция построения В-сплайновых кривых ВврйпеСцпге Функция Вар))пеСогче служит для построения кривых В-сплайнов. Она может использоваться в формах: ВЯр1кпеСекче(хуг)ака, о, орСэ) ВяррвпеСекче гхг)ака, ус)ака, и, орка) Здесь: хус)а)а — список, массив или матрица точек в форме [[х1,у1],[х2,у2],... [хп,уп]]; хг)а)а — список, массив или вектор значений независимой переменной [х1,х2,...,хп]; уг)ага — список, массив или вектор значений зависимой переменной в форме [у1,у2,...,уп]; у — имя независимой переменнои; ор!в — не обязательный параметр в форме одного или более выражений вида огг)ег=К или кпогв=Кпо!))в!.
;...г э:;;...~; "'„;"'з е:.,;..."'э..тй -Е*:".э ч ',-ая '*,*:;"*.*' вг' э';. !' „:*'...,*',' '"е * '*"* ;;„-, х,.';. :",.-...„,,:-":, М "э' ,-,, и:*,'.:,'~ -оэ;;!С1',. х,эа-!':,Г Ф;... ',, ' ..., ' ',", '*;;, ~ ";'"..ч ч,' в'" З. э:к.дэ'к» Е ",'аз.дх "-~.,:," .з:;; !... ':ф :: *,,! „г *.,"',;!,,-' ": С". з ~...„:,' .,';:,",:;;„- ~,„,з:;:"!;,* Ф;";...'.,..'.,о!,:к!,:. , яч-*, г:. !;",",ак:.!х "-'.;, " 'З *,з е Хзг э:;;;.'.,~ ., '"„." з,';' .",..г..";.; —.'"."ь: :;";:ач э..с'".„. э вг ":' * эк';„,а кд!''", '*'* ' ",» ';*" ";, '"'ч,;,'г,,;,'и и,;, '„"'*'* ' ",» ';*"',а к д ! ' '", ь~;, э„*'. '*,,*:.;~;,.„. "! е! ~ '* г "с',*:,,,я.д ::',.;:.' ..':.
'...;:;,;.:;:„:.:::,-; "'::"!,.";,'аз:!х ;...г э:;;,,~:, '"„; "' з,"'. ;ч-.Ф» ' ''з г ! 1 к !ь;-..,ч',.„'.,-'..., * ' эа-!':,Сг ,"*,...;„;:!,*.;; ф...! ..'.„'*.;,*„" ...э", г !,;;:,;,:ь*...*,л З ' ° ', вь,'.с "':;,: *. * .',:;;" '.~".,*,кэ" !)..":;-; ';-":;:;-; ":"",".,'"!ч '". '.„:;-";, 'эло' *,*:,':,, ' '"'";" о . ".* 'в.'.;. "'е .,; ' "~х; „...,.;;": *,,*, ';,'; '. ','': '; -* а'',э з -''х':е;"... "",;:», ';"'З: "'...,,, '""' с"* :';:-:;„.„Гэх';„- „-""":э °; -".:.::- х .'-:::...:":.,',т,.~г-.,-"; э..'.,:,-:";,:г !'""' С:,;;-"; ч:,:;"!,;к. л!",;;:- "э":-;- е!.-;-ъ!,,:, 1!''", *ь:,.;"' ' ',*;.'"'! с ° ...:*,";я 5.9. Пакет приближения кривых ЕиекеИпнд ние куда более сложной сплайновой аппроксимации, как правило, кажется млло обоснованным. Однако если точки данных расположены неравномерно, то применение полиномиальной аппроксимации может оказаться совершенно неприемлемым. Это отчетливо показывает пример, представленныи на рис.
5.20. Здесь задана на первыи взгляд (судя по расположению точек) не слишком сложная и чуть колебательная зависимость. Однако полиномиальная аппроксимация (представлена тонкои кривой), особенно в начале — в интервале первых трех точек, дает явно ошибочные сильные выбросы. А вот сплайновая аппроксимация (показана более жирнои линией) велет себя куда более приемлемо. [в,' х[ [в[х[ Яеь ем тх 1 тх тоге в ь ехь [ Сравнение полиномиальнай и сплаиновой аппроксимации таблихнык данных [> гесс*ге;нагл(согхеигееито[:нгеь[р[оек[: [ > Окса:- [[О О 21 [3 3.61 [3 Е.а[ [Е.5 61 [5 31 [б 5.31 П 3 21 [В 211 Ох:- роткпрн с[О. Еа,ау Ьот-ВОК[: е:-.
х / 5'Г..'Ч,хе, '*,',„.,' 5',!;"... "5 ''5'.,*, '',;; ..*;;''", -:.,;;*;"";;:,*; '',",''',*.:' ';,,П"*...'' ': > »„х , и;.„5е'*.. "', г';. / ех.т 554 !лава 5. Ана(из функциона(Оных завиеимоетеи и обработка данных ни ок и не» и .е, ' ' и 3 нр Полиномиальная аппроксимация аналитической функции > ч11Ь(р1осв):н)СЫСегхек111(оо):Н: ЗО:Х:-[вес[(1,1 О..Н) [: Х: [ве[(вао(1),1 О..Н)): вр1сегке:-Бр1)ее(к,у„к): [> 01: р1ос(вр1оегне,х 0..30, оо1ог Л1вок): > 07: Р1О1([[Х[1),7[1[[В[ 1..и+1[,к -7..л,всу1е РОХ(П,вуело1 01НО)Х, оо1ог Ь)аок): > О(вр1эу(07) с [н) «[ [О[ к[ 355 5.9.
Пакет приближения кривых СипеИйпб метров функции д)ар)ау). После построения ~рафика сплайновой аппроксимирующей функции становится вполне ясным, что точки представляют функцию синуса. которая прекрасно представляется отрезками полиномов сплайн-функции. Здесь полезно обратить внимание на то, что за пределами области узловых точек значения, возврагдаемые сплайновой функцией в пакете Сцгтер1ц1пб равны нулю. Так что экстраполяция по ней невозможна (в тоже время функция зрбпе такой возможностью обладает).
5.9.6. Функция реализации метода наименьших квадратов Ееавт8ццагев До сих пор мы рассматривали методы числовой аппроксимации функции или данных, при которых порядок полиномов определялся числом отсчетов функции. Функция ).еавгбццагеа служит для реализации аппроксимаш1и по методу а~ачх иыиия. кччапятоя„,, Ппи а ~а~, х еиоии ххоон тхч~ит с гатагт тесная лб...,,,ааи лзо тлава 3. лналнз ()зунккнональнмх завнснмогтен н оорооотка ванных Следуюшие примеры иллюстрируют применение функции [.еав[8([цагев: > чге)з(Сззгчеггесгпч)з Ьеаягвс[чагея ([[О, .
5], [1, 2), [2, 4], [3. 8) ] ° ч) ' †.0500000000000 + 2.44999999999999974 ч > Ьеаягзоззагея ([О, 1, 2, 3), [1, 2, 4, б], ч, чеЬОПГ- [1, 1, 1, 10] ) з 95 259 — + — ч 146 !46 > Ьеаягзоззагея ( [О, 1, 3, 5, б], [1, -1, -3, О, 5], ч, сззгче=а*ч" 2+Ь*ч+с) з 856 33 з 2231 — + — ч — — ч 637 49 637 Наглядную иллюстрацию приближения группы точек кривой (в данном случае представленной полиномом четвертой степени) дает рис. 5.23. Кривая в облаке точек располагается таким образом, что площади квадратов над кривой и под ней в сумме равны нулю. В конце этой главы мы вернемся к реализации метода наименьших квадратов при выполнении регрессионного анализа, построенного на этом методе.
5.9.7. Функция полиномиальной аппроксимации Функция Ро1упоп))айп[егро(абоп реализует полиномиальную интерполяцию и может использоваться в виде: Ро1упоязаа11пеегро1асаоп (хуг)ага, ч) Ро1упояз1а11пЬегро1ас1оп(хг)аеа, уг)аеа, ч) Параметры функции были определены выше. Параметр ч может быть как именем, так и численным значением. Примеры применения функиии представлены ниже: > ч1Г)з(СззгчеГгГГгпд)з ро1упозззга11пгегро1агьоп ([[О, О), [1, 2) ° [2, 4 ], [3, 3) 1, г): 3 — + — 2 +2 2 2 > Ро1упоега11пгегро1агьоп ([О, 2, 5, 8), [2, а, 1, 3), 3) з ! 5 — — +-а 24 6 5.9.8. Функция рациональной аппроксимации Функция раииональной интерполяции задается в виде: Растопа11пгегро1агаоп (хуг[ата, г, оргя) Растопа11пгегро1агтоп(хг[ага, ус[ага, г, оргя) где необязательный параметр ор[в задается выражениями п)е[Пос)=п)е!По(Нура или ([ейгеев=((!1,()2).
Функция возвращает результат в виде отношения двух полиномов. 357 5.9. Пакет приближения кривых СигчеБЫид Параметр п]е!Ьо()(уре может иметь значения ')оо)(агоип(] или вцЬгевц)!ап(, залаюшие учет или пропуск сингулярных точек. Пример применения функции йа!!опа!)п!егро)а!!оп (загрузка пакета опушена, но предполагается): > хролпеа := [О, 1, 2, 3, В, -1 ]: ура>пса := [О, 3, 1, 3, а, 1/11]: г := яаелопа11псегро1аелоп(хрогпса, ура>пса, х]г у:=-3 4хг -17х+!2 > гог л Ггпи 1 Со б по поппа1(еча1(г,х=хролпга[л))-уролпса[л]) епи г)о; 3 — — -о 2 5.9.9.
Функция вычисления обычных сплайнов Зрбпе Функция Зр1лпе (хуг[аСа, ч, орса) Зр1лпе (хг)ага, уг]ага, ч, орса) вычисляет обычные (не В-типа) сплайны. Примеры ее применения даны ниже: > Зр1лпе([[0,1), [1,2], [2,5], [3,3] ), х); 1+ — х+ — х 2 13 х<1 !5 !5 21 142 48 ~ 7 ) — — — л+ — х- --х х<2 5 !5 5 3 !3! 542 66 з 22 з — — + — х — — л + — л огйегхчуе 5 15 5 15 > Зр11пе ( [О, 1, 2, 3], [1, 2. 5, 3), ч, пелагее=1); с !+х ч<1 -1+Зч ч< 2 9 — 2 ч огяегвл(е 5.9.10. Функция аппроксимации непрерывными дробями Функция ТЬ)е)е[п1егро[а!юп осушествляет интерполяцию на основе непрерывных дробей (ТЬ!е]е'в — интерполяцию).
Она задается в виде: ТЬле1е1пеегро1аелоп [хуг]аСа, ч) тЬле1е1псегро1аглоп(хг)ага, уг[аса, ч) 358 Глава 5. Анализ функциональных зависимостей и обработка данных Примеры применения данной функции представлены ниже: > Тп1е1е1псегро1ае1оп([[1,3], [2,5], [4,75], [5,41], х); 3+ 2 1944 402 — — + — х 77 77 > Тпье1е1псегро1асгоп ( [1, 2, а], [2, 4, 3], 3]; 2+ 2 +2 — — +а 2 5.10. Выбор аппроксимации для сложной функции 5.10.1. Задание исходной функции и построение ее графика Трудно представить себе область научно-технических расчетов более широкую и почитаемую, чем аппроксимация различных функциональных зависимостей. С получения простой аппроксимации сложной зависимости нередко начинаются (а часто и заканчиваются) научные исследования во многих областях как прикладной, так и фундаментапьной науки.
Покажем возможности в этом систем Мар[е на одном из комплексных примеров, давно помещенных в библиотеку пользователей системы Мар[е Ч К2, и переработанном для Мар]е 9.5/10. В этом примере используются многие из описанных выше средств приближения функций. Воспользуемся ранее описанными возможностями пакета поп)арргох, для чего, прежде всего, подкл)очим его: > геааага геьс)7 (поеарргох): Будем искать приемлемую аппроксимацию для следующей, отнюдь не простой, тестовой функции: > х:= х -> хпс(1/ОЛНИА(С), с=О..х ) / х"2; 7':= х-> х > р1ос (Г, О .. 4, со1ог=)71асх) График этой функции представлен на рис. 5.24. С первого взгляда это простой график, но туг как раз тот случай, когда простота обманчива.