Матросов А.В. Maple 6. Решение задач высшей математики и механики (Матросов А.В. Maple 6. Решение задач высшей математики и механики.djvu), страница 83
Описание файла
DJVU-файл из архива "Матросов А.В. Maple 6. Решение задач высшей математики и механики.djvu", который расположен в категории "". Всё это находится в предмете "компьютерный практикум по специальности" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 83 - страница
Численно-аналитические мегоды 3! .67433396 " + 2.499999999 ) вогГ(тпсегр(х,у, х) ); з: = -9.185424809 =1 е 65 66931884 г" . — 156 8421886 г' + 138 9006107 51 3 !.67433402 = + 2.499999999 > р1оГ (а, 5=0 .. 3, -5 .. 16, со1огжб1асг, ГЬ1сгаевв=2); 15 Как видим, коэффициенты построенного по нашей процедуре интерполяционного полинома незначительно отличаются от полинома, построенного встроенной в Мар)е командой ьогегр(). Такое незначительное отличие связано с тем, что при вычислениях по встроенной команде используется большее число значащих цифр в мантиссе.
чем при вычислениях по нашей процедуре. Этот недочет можно исправить, добавив в начало тела процедуры ' .ГегРе1еьтеа() ОПЕРатОР Гдчтсв:=30, а ПРИ ВЫХОДЕ ИЗ НЕЕ ВОССтаНОВИтЬ КО- личество значащих цифр в мантиссе по умолчанию, выполнив оператор 0191ГЯ:=10. Интерполяционный лелином хорошо аппроксимирует гладкую функцию, имеющую непрерывные производные до порядка и +1 включительно. Однако если аппроксимируемая функция имеет разрывную производную какого- либо порядка, то интерполяционный лелином на концах отрезка интерполирования начинает сильно осциллировать и совершенно не пригоден для апнроксимации функции между узлами, расположенными ближе к концам интервала аппроксимации.
Построим интерноляционный полином функции, заданной своими значениями в 16 точках на интервале [О, 2! в соответствии со следующей таблицей: Часть О. Математика 468 Прежде всего создадим два вектора х и у размерности 1б, в которых будем хранить, соответственно, координаты узлов и значения функции в них, а затем построим интерполяционный полипом (в приводимом ниже тексте программы мы опустили присваивание элементам векторов соответствующих значений): > 214 4ЕССОС (1б(: У: х ХЕССОС (1 61: > я: =гсоехро1аогоа (С, у, х) 1 > Р1ог (Я, х=0 .. 2, 0 ..
1. 2, оох1Ро1оСЯ=100, яса11сЧВОРНБТВА1БЕР, СЬ1схаеяя=2, со1ос=-Ь1асх( 121 ! О.в о.в 04 0.2 0 02040808 1 1214 1618 2 Х Видно, что график интерполяционного полинома очень похож на график фуНКцнн у= Ья(х-1(, НО ТОЛЬКО На КОНцаХ ИНтЕрВаЛа ИНтЕрПОЛИрОВаНИя ОН резко отличается от него. Действительно, данные для построения интерполяционного полинома соответствуют указанной функции.
Чтобы сравнить графики этих двух функций, мы приводим их на одном рисунке: > Р1ос((аЬЯ(х-1),81, х=0..2, 0.,1.2, оох1Ро1РСЯ=100, Яса11ася=зоизтаА1НЕР, СЬгсхаеЯЯ=2, 11оеЯСУ1е=(1,41, со1ос=Ь1асЮ 1 1.2 1 о.в ОВ 0.4 ог огоховов 1 (.г141,81.8 2 х В данном случае мы аппроксимировали интерполяционным полиномом функцию„у которой первая производная имеет разрыв в точке х=1. Результат такого разрыва сказался на поведении интерполяционного пслинома в областях изменения независимой переменной, примыкающих к концевым точкам интервала интерполирования.
Если интерполируемая функция не имеет достаточного числа гладких производных, то нельзя утверждать, что ее интерполяционный полипом будет с достаточной степенью точности ее аппроксимировать, в чем мы сейчас и убедились. Теперь обратимся к интерполированию функций двух переменных. Мар1е для подобного случая не предоставляет пользователю никаких команд. Од- Глава 11. Численно-аналитические методы пако запрограммировать алгоритм построения интерполяционного полинома для функции двух переменных в Мар!е не представляет труда, Прежде всего, приведем необходимые расчетные формулы. Будем рассматривать функцию двух переменных ((и,у), заданную таблицей своих значений ((иь ву) = Г(х)) =у;; в узловых точках ху = (иь у,): Возьмем произвольную строчку 1 таблицы и построим интерполяционный полипом Лагранжа степени и — 1 относительно переменной у, используя числа у;, 1'=1..т этой строки в качестве значений в узлах, определяемых верхней строкой таблицы: Р,, (о)= ~~' а о=о Мы записали его в стандартном виде, к которому может быть приведен любой полипом.
Первый индекс но †в обозначении полинома Р указывает на его степень. Этот полипом в силу своего построения обладает свойством Р,, (о)=у, /=!..т Получив такие полиномы для всех 1=1..л, построим еше серию полиномов Лагранжа степени л-1 относительно переменной и, используя в качестве узлов значения из крайней левой колонки таблицы значений исходной функции, а значениями в этих узловых точках будут, соответственно, коэффициенты а;„, 1=1..л: о =о Построив полиномы ао ! о(и) для )о=б..тл-!, тем самым получим требуемый интерполяционный полипом е -! т (ц т) ~, К (и)то о=а или, подставляя вместо К„ ! „(и) его представление в виде суммы, и-!то-1 А~,,(и, т) = ч~~ ~ ~~ Ь и" о=о о о Часть Н.
Математика 470 котоРый в заданных Узловых точках (ит, чт) пРинимает значениЯ У, из таб- лицы. Теперь в соответствии с приведенным алгоритмом разработаем процедуру гппетрзо(] построения интерполяционного полинома функции двух переменных, заданной своими значениями в узлах прямоугольной сетки. Ее полный текст приведен в примере 11.4. > гпсетрзо:=рпос(х::чеспот,у:тчеспос,А::татс1х,ц::паще,ч::патпе) 1оса1 т., 1, з, т, и, ПЧ, Г, кт () Определение размерностей сетки значений щт='11па1д/тонб1щ'(А)т тм= 11па1Ч/со1бШп'(А)т () Здесь следует вставить проверку соответствия размерностей () векторов Узлов х и у и матрицы значений А ПЧ:=тпапт1х(щ,п)т () Построение интерполяционных полинсмов по строкам матрицы А (( и сохранение их коэффициентов в возрастающем порядке () в столбцах матриц ОЧ Ест 1 Гюощ 1 Со щ бо тт 1ппетр (у, тон(А, 1 ),и) т Гоп 1 спой 1 По и бо ПЧЦ,1):=соетт(у,ч,1-1) т епс( с)от епб бо: (( Построение интерполяционных полиномов по коэффициентам () построенных интерполяционных пслиномов (( и сохранение их коэффициентов в возрастающем порядке () в матрице т тт=пастт.х(щ,п): Гоп 1 Гпощ 1 Со и бо гт=1ппетр(х,со1(пч,ф),ц)' Гоп 1 Гтощ 1 Со щ бо т(1,1]т=соетт(т,ц,1-1)т етк) бот епб бот () Построение интерполяционного полинома табличной функции эт=ст Гоп 1 Гтсщ 1 по щ бо Гоп 1 ссспп 1 По и бо зт=э+т (т., 1 ] *и (1-1) * т (1 -1) т его с]от елб бот з1птр11йу(з)т епб рюост Глава [1.
Численно-аналитические методы > х:=геогог(З, [1,2, 31) ' х:=[1,2,3) :=[0,2,31 > у:=уеопог(3,[0,2,3))т > Г".=тапг1х(3, 3, [ ( 1, 2, О), О, 3, 9), [-2,0,-3) ))' Р:=- О 3 9 > е: =1 осегрЗ 0 ( Х, у, Е, и, У) ( 44 25 ! 203 121 г 1 г 53, 3! г:=! + — у — — у~+ — и — му+ — и1г — — и + — и'т — — изут 3 3 2 !2 !2 2 12 12 Теперь проверим, правильно ли построен интерполяционный полином е, вычислив его значения в узлах сетки: > ГГ;=пагггх (3, 3): Гог г Го 3 оо гог 3 Го 3 г[о ГГ[1,3):=еУа1(е,(п=х[г),У=У[3))) епг) г[о: епс( оо: епа1в(ГГ); ~О 3 9~ Результат, как и следовало ожидать, полностью совпадает с исходной мат- рицей у значений функции в узлах сетки. Теперь остается только построить график интерполяционного полинома, чтобы оценить его поведение: В ПрОцЕдУРУ 1псегр30 () ПЕРЕДаЮтСЯ ВЕКТОРЫ х И у УЗЛОВ СЕТКИ ПО ДВУМ КООрдинатным осям, прямоугольная матрица л значений функции в узлах заданной сетки, а также имена переменных и и у, относительно которых строится интерполяционный полинам.
Для построения интерполяционных полиномов одной переменной в процедуре используется команда гпгегр() из стандартной библиотеки Мар!е, хотя можно было бы строить их и разработанной нами процедурой тпгегро1есгоп(). Построим интерполяционный полипом функции двух переменных, заданной таблицей своих значений на следуюшей сетке (матрица ! хранит значения функции в узлах сетки): Часть ((. Математика 472 > иьеь]р1оее): > 1осэа]з,оеа! 1] ..к]З], т=у(т] ..у (3], ахез=ВОХЕО, от].еосас(ос= ]35, зз] ]; 11.3.
Краевые задачи для обыкновенных дифференциальныхуравнений В этом разделе мы покажем применение Чар!е лля построения приближенного акалитическага решения краевой задачи для линейного обыкновенного дифференциального уравнения второго порядка. Подобные методы появились задол~о до возникновения компьютерной техники, но с ее появлением были несколько оттеснены в сторону численными методами, для которых компьютер является идеальным средством реализации, так как работает именно с числовым представлением функций, а не их аналитическим выражением. Системы аналитических вычислений позволяют достаточно просто реализовывать не только численные решения разнообразных задач, но и строить их приближенные аналитические решения.
Из большого количества приближенных аналитических методов мы выбрали метод Галеркина, который в настоящее время переживает. скажем так, свое второе рождение в связи с широким внедрением в практику расчета разнообразных конструкций метода конечных элементов, основные разрешающие уравнения которого могут быть выведены с помощью метода Галеркина. Сформулируем общую краевую задачу для обыкновенного дифференциального уравнения второго порядка: найти решение лифференциального уравнения (.иай+р(х) и+г](х) и=!(х), а<х<Ь, удовлетворяющее двум краевым условиям (си = аси(а) + ]]си(а) = уш (]и и а]и(Ь) + ]3]и'(Ь) = у], где р, г] и (являются непрерывными функциями переменной х на интервале ее изменения ]а, Ь), а аь ]3, и у( — некоторые заданные числа, причем некоторые из них могут равняться нулю, но не все одновременно.
Глава 1 1. Численно-аналитические методы Для нахождения прибли:кенного решения краевой задачи на отрезке [а, Ь) задают некоторую линейно независимую систему дважды непрерывно дифференцируемых функций ~ро, <рн ..., ~р„, ... таких, что функция ~ро удовлетворяет заданным краевым условиям )ио = то (про = у~ а остальные функции системы при 1=(, 2,... удовлетворяют однородным краевым условиям 1оро = О, 11сро = О. Эта система функций называется базисной. Приближенное решение краевой задачи ищется в виде линейной комбинации л+1 базисных функций у„(х) = <ро(х) + а~<р~(х) + ... + а„<р„(х) с неизвестными коэффициентами аь ~'=1.ш, которые нахолятся из выполнения некоторого критерия. Следует отметить, что построенное таким способом приближенное решение в силу выбора базисных функций точно удовлетворяет краевым условиям задачи. В методе Гаперкина в качестве критерия для определения неопределенных коэффициентов приближенного решения выбирается требование ортогональности базисных функций оч(х), ~рз(х), ..., ~рь(х) к функции невязки Ч'(х; ан ..., а„), представляющей разность левой и правой частей обыкновенного дифференциального уравнения при подстановке в него приближенного решения ч'(х; ан ..., а„) = Су„— г(х) = Евро(х) — 1(х) + 2 а, У.