Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-Численные методы.doc
Скачиваний:
10
Добавлен:
22.08.2019
Размер:
3.2 Mб
Скачать

Порядок выполнения работы.

Пример. Функция f(x) определена таблицей

xi

1

2

3

4

5

yi

2

2,69

3,1

3,39

3,61

Требуется аппроксимировать функцию у = f(x) алгебраическими многочленами наилучшего среднеквадратичного приближения Qn(x), n = 0 4 и оценить погрешности каждого приближения.

Вид рабочего листа MS Excel приведен на рисунке.

1. В диапазоне A2:F13 оформляем таблицу для вычисления функций gk(x), в которой также рассчитаем квадраты этих функций. Одновременно в диапазоне A15:F19 оформим таблицу для квадратов норм функций gk(x), коэффициентов a, ak , bk , коэффициентов Фурье Ck . В диапазонах А2:А13 и А15:А19 размещаем заголовки строк. В диапазон А2:F3 копируем заданную таблицей функцию f(x) . В диапазоне B4:F4 задаем функцию g0(x) = 1 при всех x. В диапазоне В15:F15 задаем номера приближений от 0 до 4. Вычисляем квадраты значений функций gk(x): ячейка В9 = "=B4^2" и протягиваем формулу в диапазон В9:F13. Вычисляем квадраты норм функций gk(x) по формуле : ячейка В16 = "=СУММ(B9:F9)" (квадрат нормы g0) , ячейка C16 = "=СУММ(B10:F10)" (квадрат нормы g1) , ячейка D16 = "=СУММ(B11:F11)" (квадрат нормы g2) , ячейка E16 = "=СУММ(B12:F12)" (квадрат нормы g3) , ячейка F16 = "=СУММ(B13:F13)" (квадрат нормы g4).

Вычисляем коэффициент а по формуле : ячейка С17 = "=СУММ(B2:F2)/5". Определяем значения функции g1 (х) = x - a: ячейка В5 = "=B2-$C$17" и протягиваем формулу в диапазон C5:F5. При этом автоматически вычисляется квадрат нормы функции g1 .

Вычисляем коэффициент : ячейка D17 = "=СУММ(B2:F2*B10:F10)/C16". Здесь использована операция перемножения соответствующих элементов двух диапазонов. После ввода формулы необходимо перенести курсор в строку формул и одновременно нажать Ctrl+Shift+Enter. После этого выражение в строке формул заключается в фигурные скобки, что является признаком операции над массивами. Вычисляем коэффициент : ячейка D18 = "=СУММ(B2:F2*B4:F4*B5:F5)/B16" (использована операция над массивами). Определяем значения функции : ячейка В6 = "=(B2-$D$17)*B5-$D$18*B4" и протягиваем формулу в диапазон C6:F6. При этом автоматически вычисляется квадрат нормы функции g2 .

Вычисляем коэффициент : ячейка E17 = "=СУММ(B2:F2*B11:F11)/D16" (использована операция над массивами). Вычисляем коэффициент : ячейка Е18 = "=СУММ(B2:F2*B5:F5*B6:F6)/C16" (использована операция над массивами). Определяем значения функции : ячейка В7 = "=(B2-$E$17)*B6-$E$18*B5" и протягиваем формулу в диапазон C7:F7. При этом автоматически вычисляется квадрат нормы функции g3 .

Вычисляем коэффициент : ячейка F17 = "=СУММ(B2:F2*B12:F12)/E16" (использована операция над массивами). Вычисляем коэффициент : ячейка F18 = "=СУММ(B2:F2*B6:F6*B7:F7)/D16" (использована операция над массивами). Определяем значения функции : ячейка В8 = "=(B2-$F$17)*B7-$F$18*B6" и протягиваем формулу в диапазон C8:F8. При этом автоматически вычисляется квадрат нормы функции g4 .

По формуле (4) вычисляем коэффициенты Фурье: ячейка В19 = "=СУММ(B3:F3*B4:F4)/B16" (коэффициент С0 ), ячейка С19 = "=СУММ(B3:F3*B5:F5)/C16" (коэффициент С1 ), ячейка D19 = "СУММ(B3:F3*B6:F6)/D16" (коэффициент С2 ), ячейка E19 = "=СУММ(B3:F3*B7:F7)/E16" (коэффициент С3 ), ячейка F19 = "=СУММ(B3:F3*B8:F8)/F16" (коэффициент С4 ). Здесь использованы операции над массивами.

2. Оформляем таблицу для вычисления значений многочленов наилучшего приближения. В диапазоне А21:А26 располагаем заголовки строк. В диапазон В21:F21 копируем значения аргумента х. Воспользуемся преобразованным вариантом вычисления значений многочленов:

.

Ячейка В22 = "=$B$19*B4" и протягиваем формулу в диапазон C22:F22 (значения Q0 (x)). Ячейка В23 = "=B22+$C$19*B5" и протягиваем формулу в диапазон C23:F23 (значения Q1 (x)). Ячейка В24 = "=B23+$D$19*B6" и протягиваем формулу в диапазон C24:F24 (значения Q2 (x)). Ячейка В25 = "=B24+$E$19*B7" и протягиваем формулу в диапазон C25:F25 (значения Q3(x)). Ячейка В26 = "=B25+$F$19*B8" и протягиваем формулу в диапазон C26:F26 (значения Q4(x)).

3. Определяем оценку точности приближений. Сначала вычисляем квадрат нормы функции f(x) по формуле : ячейка В28 = "=СУММ(B3:F3*B3:F3)" (использована операция над массивами). Воспользуемся преобразованным вариантом вычисления квадрата наименьшего среднеквадратичного отклонения аппроксимационных многочленов:

.

Ячейка В30 = "=B28-B19^2*B16" (вычисление d2( f, Q0 )), С30 = "=B30-C19^2*C16" (вычисление d2( f, Q1 )), протягиваем формулу из С30 в диапазон D30:F30 (вычисление d2( f, Qn )). По формуле вычисляем оценку точности полученных приближений: ячейка В31 = "=КОРЕНЬ(B30/$B$28)" и протягиваем формулу в диапазон С31:F31. Теоретически d2( f, Q4 ) = 0 , но в силу округления ЭВМ последнего разряда чисел может получится значение d2( f, Q4 ) незначительно отличающееся от нуля, в частности, отрицательное. Это приведет к ошибке вычисления корня в ячейке F31. В этом случае в ячейке F31 аргумент корня можно взять по модулю (функция ABS).

4. Строим графики полученных приближений по массиву данных A21:F26 с помощью мастера диаграмм, используя точечную диаграмму со значениями, соединенными сглаженными значениями без маркеров, и применяя соответствующее форматирование. Многочлен наилучшего среднеквадратичного приближения Q4(x) проходит через все пять заданных точек функции, так как является многочленом 4-го порядка. Поэтому можно графически оценивать точность полученных приближений меньших порядков по расхождению их графиков с графиком функции Q4(x) = f(x).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]