Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования.

План: Элементы численных методов и их компьютерная реализация. Приближение функций.Интерполирование, полиномиальное интерполирование, интерполирование сплайнами, аппроксимация кривыми при решении задач приближения функций и расчета теплотехнических таблиц.

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

Численный анализ является завершающей составляющей математической подготовки теплоэнергетика. Знание основ теории и способов реализации численных методов необходимо при проектной проработке и расчетном обосновании процессов, установок, агрегатов, систем теплоэнергетики и теплотехнологии.

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

Интерполирование функций

Интерполяция применяется во многих задачах, связанных с вычислениями. Укажем некоторые из этих задач.

Обработка физического эксперимента – построение приближенных формул для характерных величин по табличным данным, полученным экспериментально.

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

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

Интерполяция применяется также в задаче обратного интерполирования: задана таблица уi = y(xi); найти хi как функцию от уi. Примером обратного интерполирования может служить задача о нахождении корней уравнения.

Интерполяционные формулы используются также при вычислении интегралов, при написании разностных аппроксимаций для дифференциальных уравнений на основе интегральных тождеств.

В общем случае при постановке задачи приближения нужно следовать по алгоритму:

- определить какой класс приближенных функций нужно выбрать;

- выбрать критерий близости («согласия») исходной и приближающей функции (совпадение в узловых точках – метод Лагранжа, или метод наименьших квадратов);

- указать правило, позволяющее с заданной степенью точности, получить значение функции в промежуточных точках между узлами (какие узлы использовать и как их расположить).

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

Пусть на отрезке а £ x £ b задана сетка ω ={х0 = а < х1 <¼< хn = b } и в ее узлах заданы значения функции у (х), равные у (х0) = у0, …, у(хi) = уi, …, у(хn) = уn. Требуется построить интерполянту– функцию f(х), совпадающую с функцией у(х) в узлах сетки:

f (xi) = yi, i = 0, 1, …, n (3.1)

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

Основной вопрос: как выбрать функцию - интерполянту f(х) и оценить погрешность у(х) - f(х)?

Интерполирующие функции f(х), как правило, строятся в виде линейных комбинаций некоторых элементарных функций:

f(x) = Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru ,

где {Ф Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (х)} - фиксированные линейно независимые функции;

с0, с1, …, сn - не определенные пока коэффициенты. Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru

Из условий (3.1) получим систему n+1 уравнений относительно коэффициентов {с Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru }:

Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru

Предположим, что система функций Ф Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (х) такова, что при любом выборе узлов а = х0< х1 < …< хn = b отличен от нуля определитель системы:

Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru

Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru Тогда по заданным уi (i = 0,1,…, n ) однозначно определяются коэффициенты с Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru ( Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru = 0, 1, …, n).

В качестве системы линейно независимых функций {Ф Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (х)} чаще всего выбирают: степенные функции Ф Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (х) = х Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (в этом случае f = Pn (x) – полином степени n ); тригонометрические функции { Ф Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (х) = соs kх, sin kx} (в этом случае f - полином тригонометрический). Используются также рациональные функции

Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru

и другие виды интерполирующих функций.

Рассмотрим полиномиальную интерполяцию.

Известно, что любая непрерывная на отрезке [а, b] функция f(x) может быть хорошо приближена некоторым полиномом Рn(х).

Будем искать интерполяционный полиномв виде

Рn(x) = Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru ( 3.2 )

где с Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru - неопределенные пока коэффициенты.

Полагая f (xi) = yi, получим систему линейных уравнений вида

Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru с01 х0+…+сnх0n= y0,

с01 х1+…+сnх1n= y1,

…………………..…,

с01 хn+…+сnхnn= yn.

Определитель этой системы отличен от нуля, т.е. полином вида (3.2) существует и единственен. Форм записей такого полинома существует множество.

В качестве базиса {Ф Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (х)} мы взяли базис из одночленов 1, х, х2, …, хn. Для вычислений более удобным является базис полиномов Лагранжа {l Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (x)} степени n или коэффициентов Лагранжа:

 
  Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru

l Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (xi) = 1, если i = k,

0, если i ≠ k , i, k = 0, 1, …, n.

Нетрудно видеть, что полином степени n

l Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (x) = l Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (x) = Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru

удовлетворяет этим условиям. Полином l Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (x), очевидно, определяется единственным образом.

Полином l Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (x) y Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru принимает значение у Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru в точке х Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru и равен нулю во всех остальных узлах х Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru при j ¹ k. Отсюда следует, что интерполяционный полином

Рn(x) = Тема: Численные методы в математическом моделировании теплотехнических задач и их программная реализация. Методы интерполирования. - student2.ru (3.3)

имеет степень не выше n и Рn (xi) = yi. Формулу (3.3) называют формулой Лагранжа. К достоинствам формулы можно отнести то, что число арифметических действий для вычисления пропорционально n2.

Для оценки близости полинома Рn(х) к функции f(х) предполагают, что существует (n+1)-я непрерывная производная f(n+1) (х).

Наши рекомендации