86325 (612722)
Текст из файла
Задание 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) и матрица системы невырожденная (det A ≠ 0), то система имеет единственное решение, которое находится по правилу Крамера:
В этих формулах ∆ = det А — определитель системы, а ∆k — определитель, полученный из определителя системы заменой k-гo столбца столбцом свободных членов (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. Модуль разности соответствующих значений представляет P-погрешность аппроксимации, значения которой представлены в табл.3. В таблице приведена также относительная погрешность Р, равная отношению Р к Р.
Таблица 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 |
P,% | 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
#include
#include
#include
#include
#define PATHTODRIVER "c:\egavga.bgi"
void GrafikPolinom(float, float, float, float, float, float );//Функция //построения графика полиномиальной аппроксимации экспериментальных данных
void GrafikLinear(float,float,float,float,float);//Функция построения
//графика линейной аппроксимации экспериментальных данных
void GRAPH_POINTS(float,float,float,float ); //Функция выводит на экран точки //экспериментальных данных
int GRAPH_MODE(); //Функция инициализации графического режима
void GRID(float, float);// Функция формирования координатной сетки
/*-------------------------------------------------------------------------*/
int main()
{ clrscr();
int n;
float tmpr,pwr; //текущие значения аргумента и функции
float discret; //дискретность изменения аргумента
float tn0, tn; //диапазон изменения аргумента tn0 - min, tn - max
float pn; //pn-max экспериментальное значение функции
float *dp = new float [n]; //Массив значений ошибок аппроксимации
float *P = new float [n]; //Массив значений //полученный аналитическим способом
float INTG = 0; //переменная, используемая в выражении //интегральной оценки аппроксимации
float A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0;
float detA,i, detA1, detA2, detA3, A0,A2,A3;
int answer;
Ввод значений экспериментальных данных */ cout<<" Input number double values "< cin>>n; cout << " ENTER ARGUMENT VALUE " << endl; float *t = new float [n]; //Массив значений аргумента (в данном случае - температура) float *p = new float [n]; //Массив значений функции исследуемого процесса for( i=0;i cout <<" ENTER EXPERIMENTAL FNCTION VALUE"< L: cout <<" FOR DRAWING POINTS PRESS \n" ; cout <<" FOR FIND APROCSIMATION POLINOM FUNCTION INPUT \n" ; cout <<" FOR FIND APROCSIMATION LINEAR FUNCTION INPUT \n" ; cout <<" FOR FIND DRAWING POLINOM FUNCTION INPUT \n" ; cout <<" FOR FIND DRAWING LINEAR FUNCTION INPUT \n" ; cout <<" FOR EXIST INPUT \n" ; cin>>answer; /* Графическое отображение экспериментальных данных в виде точек зависимости P = f(t) на координатной плоскости */ if (answer ==1) { int regimen = GRAPH_MODE(); if(regimen == 5) { tn0 = t[0]; tn = t[n-1];//tn-max экспериментальное значение температуры (аргумента) pn = p[n-1];//pn-max экспериментальное значение функции GRID(tn,pn);
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.