Смекни!
smekni.com

Аппроксимация экспериментальных зависимостей (стр. 1 из 3)

Задание 1

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

Таблица 1

Ts,0К 32 33 34 35 36 37 38 39
Pмм рт. ст. 360,3 509,5 699,2 935,3 1223.7 1570,5 1981,8 2463,8

Аппроксимация экспериментальных зависимостей методом наименьших квадратов. Теоретические сведения

Пусть, в результате эксперимента получена зависимость.

Необходимо найти аналитическую формулу f =

, которая аппроксимирует экспериментальную (табличную) зависимость.

Выберем зависимость

в виде полинома 2 – й степени, т.е.

(1)

В выражении (1) коэффициенты

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

(2)

В соответствии с методом наименьших квадратов (МНК) наилучшими коэффициентами зависимости (1) будут такие, для которых сумма квадратов отклонений будет минимальной.

(3)

Используя необходимые условия существования экстремума для функций нескольких переменных

, находим уравнение для определения коэффициентов зависимости (1).

(4)

Из условия (4) получим систему линейных алгебраических уравнений:

(5)

Решив систему (5) найдем коэффициенты

аппроксимирующей зависимости (1).

Эффективным методом решения систем линейных алгебраических уравнений является матричный метод. Сущность его состоит в следующем.

Пусть А — матрица коэффициентов системы уравнений, X— вектор неизвестных, В — вектор правых частей системы уравнений. Тогда решение системы уравнений в матричной форме будет иметь вид:

Х = А -1 В.

Правило Крамера

Если ранг матрицы совместной системы равен числу ее неизвестных, то система является определенной. Если число неизвестных системы совпадает с числом уравнений (m = n) и матрица системы невырожденная (detA≠ 0), то система имеет единственное решение, которое находится по правилу Крамера:

В этих формулах ∆ = detА — определитель системы, а ∆k— определитель, полученный из определителя системы заменой koстолбца столбцом свободных членов (k = 1, 2,..., n).

Решение системы трех линейных уравнений с тремя неизвестными можно выразить через определители:

,
,

Информационное обеспечение

Зависимость давления P водорода Н2 при различных температурах на линии насыщения приведены в таблице (1).

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

Графическое отображение точек экспериментальных данных

Рис. 1.Экспериментальная зависимость P=f(T)

В результате анализа данных выберем в качестве аппроксимирующего многочлена параболу, заданную уравнением P2(x)=a0+a1x+a2x2.

Для определения коэффициентов a0, a1, a2 запишем систему уравнений вида

При составлении системы создадим вспомогательную таблицу данных (таблица 2).


Используя данные таблицы 2, систему уравнений (5) записываем в виде

В результате решения системы методом Крамера получаем следующие значения определителей:

detA = 56448;

detA1 = 1435933397;

detA2 = -94279012,8;

detA3 = 1564382,4;

Вычислив определители, рассчитываем значения коэффициентов:

a0 = detA1/ detA;

a1= detA2/detA;

a2 = detA3/ detA;

a0= 25438,1625;

a1= -1670,19226;

a2= 27,71369048.


Таким образом, искомый аппроксимирующий многочлен имеет вид:

(6)

Полученная аналитическая зависимость (6) обобщает экспериментальные данные табл.01.

Для оценки погрешности полученной зависимости составим таблицу значений P. Для этого определим давление P по формуле (6). Результаты внесем в таблицу 2.

Таблица 2

T 32 33 34 35 36 37 38 39
P 370,8291668 502,0267858 688,6518 930,7042 1228,1839 1581,091 1989,4256 2453,188

Для оценки точности параболической аппроксимации сравниваем значения Р из табл.01 и табл.2. Модуль разности соответствующих значений представляет DP-погрешность аппроксимации, значения которой представлены в табл.3. В таблице приведена также относительная погрешность dР, равная отношению DР к Р.

Таблица 3

Т 32 33 34 35 36 37 38 39
10,529 7,4732 0,5482 4,59583 4,4839 10,591 7,625 10,6125
dP,% 2,8393578 1,4886087 1,5317 0,4938 0,36509 0,6699 0,38331 0,4326

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

Для интегральной оценки аппроксимации можно использовать формулу:


На рис. 2 приведены два графика, один из которых построен по данным аппроксимации (табл. 2), а второй - по исходным данным (табл.01).

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

Выберем в качестве аппроксимирующего многочлена линейную функцию.

Аппроксимируем данную табличную зависимость многочленом первой степени P1(x)=a0+a1x

Для определения коэффициентов а0 , а1 необходимо составить систему уравнений


Подставив данные таблицы в систему уравнений получим:

Находим а0 и а1 методом Крамера:

а0 = -9343,52, а1 = 297,4798

Следовательно, искомый аппроксимирующий многочлен имеет вид

P= ─ 9342,52 + 297,4798T(7)

Формула (7) является аналитической зависимостью, обобщающей экспериментальные данные табл. 01.

Для оценки линейной аппроксимации необходимо сравнить значения yi из табл. 4 со значениями, полученными по формуле (7) для всех точек (i=1, 2, ..., 8). Результаты сравнения представлены в таблице 5.

Таблица 5


Проанализировав табл.5 можно сделать вывод, формула (7) не является корректной аналитической зависимостью, обобщающей экспериментальные данные табл. 01.

На рис.3 приведены график функции (7) и исходные экспериментальные данные. Сравнительный анализ показывает неудовлетворительную сходимость теоретических и экспериментальных данных.

Рис.5.3. График линейного аппроксимирующего многочлена и исходные данные.

Текстпрограммы

#include<iostream.h>

#include<math.h>

#include<conio.h>

#include<graphics.h>

#include<stdio.h>

#define PATHTODRIVER "c:&bsol;egavga.bgi"

void GrafikPolinom(float, float, float, float, float, float );//Функция //построенияграфикаполиномиальнойаппроксимацииэкспериментальныхданных

void GrafikLinear(float,float,float,float,float);//Функцияпостроения