Курсовая работа: Аппроксимация экспериментальных зависимостей
int dx,dy; // шаг
координатной сетки (в пикселях)
int h,w; // высота и
ширина области вывода координатной сетки int x,y;
float
lx,ly; float dlx,dly; char st [8];
// метки линий сетки по
X и Y
// шаг меток линий
сетки по X и Y
// изображение метки
линии сетки
x0 = 50; y0 = 400; //
оси начинаются в точке (50,400)
dx = 40; dy = 40; //
шаг координатной сетки 40 пикселей
dlx =1; // шаг меток
оси X метками будут: 1, 2, 3 ...
dly =1; // шаг меток
оси Y метками будут: 1, 2, 3 ...
h = 360; w = 560;
lx = 0; ly =0; //в
начало координат ставятся метки 0
cout<<" MX =
1 : "<< 2*tn/14 <<"\n"; //масштаб по Х
cout<<"
MY = 1 : "<< 2*pn/9 <<"\n"; //масштаб
по
Y
// засечки, сетка и
оцифровка
int x = x0;
do
{
//
засечка
sprintf(st,"%2.1f",lx);
outtextxy(x-8,y0+5,st);
lx
+= dlx;
//
линия
сетки
setlinestyle
(DOTTED_LINE, 0, 1);
line(x,y0-3,x,y0-h);
x
+= dx; } while (x < x0+w);
// засечки, сетка и
оцифровка по оси Y
int
y = y0;
do
{
//
оцифровка
sprintf(st,"%2.1f",ly)
;
outtextxy(x0-40,y,
st) ;
ly
+= dly;
//
линия
сетки
setlinestyle(DOTTED_LINE,
0, 1);
line(x0+3,y,x0+w,y)
;
setlinestyle(SOLID_LINE,
0, 1);
y
-= dy; } while (y > y0-h);
} ;
Результаты тестирования
Для проверки правильности вычисления
аналитической формулы 2 – й степени, которая аппроксимирует экспериментальную
(табличную), зависимость, выведем на экран:
- значения определителей [detA, detA1, detA2, detA3] полученных при решении системы линейных уравнений и
значения коэффициентов [A0, A2, A3] в аналитической формуле, рассчитанные программой при
выборе аппроксимирующего многочлена 2 – й степени;
- вспомогательные данные [A, B, C, D, E, F, G] необходимые для вычисления уравнения функции
аппроксимации экспериментальных данных 2 – й степени;
При тестировании получены следующие величины
вышеперечисленных значений:
A = 284;
B = 97744,099609;
C = 358409,6875;
D = 10124;
E =13222899;
F = 362384;
G = 13023812;
detA = 56448;
detA 1= 1,436059 *109 ;
detA 2= ─ 9,42861 * 107 ;
detA3 = 1564482,25;
A0 = 25440,380859;
A1 = ─1670,317871;
A2 = 27,71546;
Аппроксимирующий полином:
P = 25440,380859 ─ 1670,317871*T + 27,71546*T2;
Данная аналитическая зависимость, обобщает экспериментальные
данные табл. 01.
Для проверки правильности вычисления
аналитической формулы 1 – й степени, которая аппроксимирует экспериментальную
(табличную), зависимость, выведем на экран:
- значения определителей [detВ, detВ1, detВ2] полученные при решении системы линейных уравнений и
значения коэффициентов [В0, В1] в аналитической формуле, рассчитанные
программой при выборе аппроксимирующего многочлена 1 – й степени;
- вспомогательные данные [R, SCp, R2, Cpi ] необходимые для вычисления уравнения функции
аппроксимации экспериментальных данных 1 – й степени;
R = 284;
SCp = 9744,099609;
R2 = 10124;
Cpi = 358409,6875;
detВ = 336;
detВ1 = ─ 3139086,75;
detВ2 = 99953,210937;
B0 = ─ 9342,52058;
B1 = 297,479797;
Аппроксимирующая функция
P = ─ 9342,52058 + 297,479797*T/
Данная аналитическая зависимость, неудовлетворительно обобщает
экспериментальные данные табл.01.
Аномалии и допустимые значения исходных данных.
В результате тестирования программы выявлены следующие её
особенности:
1. Допустимые значения исходных данных лежат в пределах [-10000000;
+10000000];
2. При больших значениях аргумента вычерчивание графика
замедляется;
3. При значениях исходных данных в
пределах 10-9 - график функции может быть не виден вследствие
слишком мелкого масштаба.
Результаты выполнения задания
1. После ввода выходных данных, перед проведением
вычислений для выбора вида аппроксимирующей функции представим
экспериментальные данные в графическом виде (СНИМОК I).
2. При вычислении аппроксимирующей функции 2 –й степени
программа вывела на экран (СНИМОК II ) :
- вид аппроксимирующего полинома: P = 25440,380859 ─ 1670,317871*T + 27,71546*T2;
- dP и dP(%) – ошибки
аппроксимации .Сравнительный анализ погрешностей показывает, что полученная
аналитическая зависимость удовлетворительно обобщает исходные экспериментальные
данные. Максимальная ошибка аппроксимации σPmax = 10,539856(2,9253%), минимальная -
σPmin = 4,473511 (0,365573%);
- ITG - интегральную оценку аппроксимации. Для интегральной
оценки аппроксимации использована формула:
ITG ==8,179605;
После завершения вычислений построим
график аппроксимирующей функции и сравним его с графиком, построенным по
выходным данным таблицы 01. Сравнивая графики можно определить хорошую
сходимость теоретических и экспериментальных
3. При вычислении аппроксимирующей функции 1 – й степени
программа вывела на экран
- вид аппроксимирующего полинома:
P = ─ 9342,520508 + 297,479797*T;
- dCP и dCP(%) –абсолютную
и относительную ошибки аппроксимации. Сравнительный анализ погрешностей
показывает, что полученная аналитическая зависимость неудовлетворительно
обобщает исходные экспериментальные данные.
Максимальная абсолютная ошибка
аппроксимации
dCP - σPmax = 204,608398(8,3045868%),
минимальная абсолютная ошибка
аппроксимации
dCP - σPmin = 20,088257(1,013637%).
Максимальная относительная ошибка
аппроксимации
dCp(%) - σPmax = 50,920618% (183,46698),
минимальная относительная ошибка
аппроксимации
dCp(%) - σPmin = 1,013637%(20,088257).
- ITGL - интегральную оценку аппроксимации.
ITGL = 120,015892;
После завершения вычислений построим
график аппроксимирующей функции и сравним его с графиком, построенным по
выходным данным таблицы 01. Сравнивая графики, а также значения
dCP , dCP(%) и ITGL можно определить неудовлетворительную сходимость теоретических и
экспериментальных данных.
4. После запуска программы на экране появляется приглашение
< Enter input dates> , предлагающее пользователю ввести
количество пар входных данных, после чего выводится строка ввода значений аргумента
<ENTER EXPERIMENTAL ARGUMENT VALUE> и затем значений экспериментальной
зависимости <ENTER EXPERIMENTAL DEPENDENCY VALUE> .
После ввода данных на экран выводится
меню:
FOR DRAWING POINTS INPUT
<1>;
FOR FIND APROCSIMATION
POLINOM FUNCTION INPUT <2>;
FOR DRAWING THE GRAPHIC OF
POLINOM FUNCTION INPUT <3>;
FOR FIND APROCSIMATION LINEAR
FUNCTION INPUT <4>;
FOR DRAWING THE GRAPHIC OF
LINEAR FUNCTION INPUT<5>;
FOR EXIST INPUT <0>,
состоящее из 6 пунктов, выбрав один
из которых можно произвести соответствующие операции, указанные в аннотации:
- FOR DRAWING POINTS INPUT <1> - позволяет произвести графическое
отображение экспериментальных данных в виде точек зависимости P = f(t)
на координатной плоскости ;
FOR FIND APROCSIMATION POLINOM FUNCTION INPUT <2> - позволяет произвести расчет
функции аппроксимации экспериментальных данных в виде полинома 2 - й степени;
FOR DRAWING THE GRAPHIC OF POLINOM FUNCTION INPUT <3> - позволяет построить графическое
отображение, полученной зависимости P = f(t) в виде аппроксимирующего многочлена 2 степени, на
координатной плоскости;
FOR FIND APROCSIMATION LINEAR FUNCTION INPUT <4> - позволяет произвести расчет
линейной функции аппроксимации экспериментальных данных;
FOR DRAWING THE GRAPHIC OF LINEAR FUNCTION INPUT <5> - позволяет построить графическое
отображение, полученной зависимости P = f(t) в виде линейной функции аппроксимации на, координатной
плоскости;
Страницы: 1, 2, 3, 4, 5 |