У вас вопросы?
У нас ответы:) SamZan.net

вариантом дана некоторая функция а также интервал в пределах которого будут браться точки для интерполяции

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.2.2025

Словесный алгоритм программы, выполняющей интерполяцию таблично заданной функции в случае неравноотстоящих узлов по методу Лагранжа

(или поваренная книга по третьей лабораторной)

Шаг 1. Сформировать таблицу значений функции.

Каждому, в соответствии с его вариантом, дана некоторая функция, а также интервал, в пределах которого будут браться точки для интерполяции:

Этот интервал нам нужно разбить на 10 отрезков, в итоге чего нами будут получены точки (всего 11 шт.) и шаг таблицы h.

Нахождение каждого -го элемента, а также соответствующего ему значения функции (считается просто по указанной в табл. 1 формуле при помощи функций библиотеки math.h) выполняется в одном цикле. В этом же цикле мы сразу формируем таблицу значений – двумерный массив размерностью 11х2 (первая колонка – значения аргумента, вторая – значения функции).

Шаг 2. Формируем таблицу значений с неравноотстоящими узлами.

Для этого нам нужно будет создать еще один двумерный массив, но уже размерностью 5х2. В этот массив переносятся следующие строки из исходной таблицы значений (массива, полученного на предыдущем шаге): 0, 2, 5, 7, 10.

Сделать это в цикле можно, но допустимо и просто записать 5 строчек c присваиванием:

table2[0][0]= table1[0][0]; table2[0][1]= table1[0][1];

table2[1][0]= table1[2][0]; table2[1][1]= table1[2][1];

                                   …

table2[4][0]= table1[10][0]; table2[4][1]= table1[10][1];

Шаг 3. Формируем "шаблон" таблицы Эйткина.

По сути, это еще один двумерный массив размерностью 5х8. Первая часть (5х5) – это то, с чем мы сейчас будем работать. Оставшиеся три столбца пока не трогаем – они потом пойдут под

С помощью двух циклов заносим в ячейки этой матрицы разницы  (см. конспект). При выполнении расчетов для произвольного икса значений этой таблицы не меняются, за исключением элементов главной диагонали (там у нас будут разности ). На данном же этапе, диагональ у нас получится просто забита нулями.

Шаг 4. Пишем функцию, которая будет просчитывать полином Лагранжа для любого заданного значения аргумента.

Жрет эта функция много, поэтому скармливаем ей такое меню: таблица значений, полученная на втором шаге; "шаблон" таблицы Эйткина (массив из предыдущего шага), само значение аргумента Х).

Берем полученный "шаблон" таблицы Эйткина, и просчитываем в цикле диагональ первой части этой таблицы как разности . Сразу же считаем произведение элементов диагонали .

Далее в одном цикле находим произведение всех элементов той строки, на которой мы сейчас стоим при прохождении цикла, тут же заносим полученное значение в 6-й столбец (), в 7-й копируем из таблицы значений соответствующее значение функции, и в 8-м столбце получаем отношение . В этом же цикле считаем сумму всех элементов последнего столбца.

Умножаем полученную сумму на произведение элементов диагонали, и финита – полином посчитан. Хотя, нет, не финита. Завершающим аккордом выводим на экран полученную расширенную таблицу Эйткина (как положено: с "шапкой", подписями и т.д.).

Шаг 5. Пишем функцию расчета погрешности полученного результата.

Данная функция просто рассчитывает значение абсолютной либо относительной погрешности результата. То есть, берем полученное через входной аргумент значение икса, считаем для него функцию по обычной формуле, при помощи которой мы формировали таблицу значений на первом шаге, считаем значение функции для этого же икса по формуле Лагранжа, и сравниваем. Разумеется, первое значение принимается за истинное, а полученное по полиному – за приближенное.

Шаг 6. 10 раз вызываем нашу чудо-функцию расчета полинома для не табличных значений аргумента.

Вначале нужно продумать, по какому выражению можно получить значения аргумента, отличные от узловых. Когда придумаем, пишем цикл, в котором считаем значение полинома для текущего значения икса, оцениваем погрешность полученного результата, выводим все это добро на экран (помним, что таблица Эйткина выводится сама – это прописано в самой функции расчета полинома).

Шаг 7. Если на данном этапе еще не тронулись рассудком, оформляем отчет.

 




1. 60х годов XIX в Падение крепостного права В конце 50х годов XIX в
2. Приемопередающие устройства
3. Види теплогенераторів
4. Финансовые средства предприятий и основные направления их использования
5. стандарта языка SQL разработанное фирмой Orcle
6. Тема- Международный кредитК принципам международного кредитования не относится 2
7. Ограждения и защитные устройства металлорежущих станков
8. Оценка финансовой устойчивости (на примере ЗАО Тихоокеанская страховая компания)
9. тема содержит- текстовый редактор где создается исходный текст программы на языке высокого уровня
10. ru Все книги автора Эта же книга в других форматах Приятного чтения Наполеон Хилл Думай и богате