Урок 11. Аппроксимация функций

Текст урока с работающими фрагментами расчетов в файле uroki-approksimacii.xls

 

 

На этот раз начнем с уточнения понятий. Нам в этом поможет Математический энциклопедический словарь, М., "Советская энциклопедия", 1988г., достаточно краткий и полный в своих формулировках.

 

Функция, согласно стр. 615 Словаря, это одно из основных понятий математики, выражающее зависимость одних переменных величин от других. Каких либо ограничений на способ задания функции в Словаре нет. Это может быть аналитический способ (посредством формулы), графический и табличный. В этом плане мы можем считать функцией и зависимость между величинами, получаемая посредством вычислительных программ, например Теплофизические свойства воды и водяного пара (С.Л.Ривкин, А.А.Александров, М., "Энергия", 1980г.) или результаты моделирования разного рода технологических и других процессов.

 

Аппроксимация, согласно стр. 76 Словаря, - это замена одних математических объектов другими, в том или ином смысле близкими к исходным. Эта замена преследует цель получения математических объектов в том или ином отношении более удобных в сравнении с исходными объектами.

 

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

 

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

 

Некоторые особенности аппроксимации функций рассмотрим на конкретном примере. Листе Лист3б данного файла (Уроки аппроксимации.xls) приведены значения энтальпии насыщенного пара при разных давлениях в двух вариантах. В одном варианте энтальпия рассчитывалась в ккал/кг, в другом - программа выполняла расчет энтальпии в кДж/кг, но мы в целях сопоставления этих вариантов пересчитали энтальпию второго варианта на ккал/кг. Варианты переключаются введением цифры, выделенной красным цветом. Если введенное число равно 1, будет задействован первый вариант, иначе - выполняется второй вариант. Варианты обрабатываются функцией Линейн, расположенной справа от массива данных (особенности работы с функцией Линейн в статье "Ошибки аппроксимации"). Справа также находится график, показывающий расхождение между исходным и аппроксимируемым значением энтальпии насыщенного пара i"nas в диапазоне 0.01--160 кгс/см2. Для аппроксимации используется полином с опорной степенью 0.2: полином вида

 

i"nas=a+b1*P^0.2+b2*P^0.4+b3*P^0.6+b4*P^0.8+b5*P+b6*P^1.2+b7*(P/100)^7

 

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

 

Введем в ячейку со шрифтом красного цвета число 1 (первый вариант) и смотрим результат: среднее квадратичное отклонение функции 0.035 ккал/кг (вторая колонка и третья строка массива Линейн), максимальное - на уровне 0.05 ккал/кг за исключением двух значений 0.07 и 0.08 ккал/кг. Вводим число 2 (второй вариант) - результат оказывается несколько неожиданным: среднее квадратичное отклонение функции 0.014 ккал/кг, максимальное - менее 0.03 ккал/кг. Этот результат, вернее разница в полученных результатах, имеет самое прямое отношение к проблеме аппроксимации функций. Дело в том, что в исходных таблицах Ривкина-Александрова энтальпия и в ккал/кг и в кДж/кг приводится с точностью до одного знака после запятой. Однако значение энтальпии в кДж/кг в 4.1868 раз больше значений в ккал/кг. Соответственно и средняя погрешность округления значений в кДж/кг в четыре раза меньше аналогичной погрешности в ккал/кг, что и обеспечило разницу в качестве аппроксимации функции, заданной таблично, в двух рассмотренных вариантах.

 

Отсюда следует вывод: при аппроксимации функций надо стремиться использовать максимальное количество знаков в значениях аппроксимируе- мых величин, сводя, по возможности, ошибки округления к нулю. Если бы мы располагали непосредственно результатами расчетов Ривкина-Александ- рова, мы бы добились еще большей сходимости исходных и аппроксимируемых значений энтальпий. Конкретный вид полинома, обеспечившего точность аппроксимации функции в табличном виде на уровне менее 0.03 ккал/кг для энтальпии насыщенного водяного пара в диапазоне 0.01--160 кгс/см2:

 

i"nas=557.67+146.6978*P^0.2-141.0949*P^0.4+130.3459*P^0.6-73.5387*P^0.8+21.45838*P-2.660653*P^1.2-0.09513217*(P/100)^7

 

Анонсы уроков

Copyright © 2009 - 2024 Алгоритмист | Правовая информация
Карта сайта
Яндекс.Метрика