Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Томский политехнический университет





МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

 

Институт/ Факультет – ЭНИН

Направление – Энергетическое машиностроение

Кафедра – ПГС и ПГУ

 

 

Построение функциональной зависимости по эмпирическим

данным с использованием метода наименьших квадратов

 

Отчет по лабораторной работе №1

по дисциплине «Моделирование физических процессов»

 

 

Выполнил студент гр.5В02 ______ _________ И.Е.Корзилова

Подпись Дата И.О.Фамилия

 

Проверил доцент кафедры ПГС ________ _______ А. Н. Субботин

Подпись Дата И.О.Фамилия

 

Томск – 2013

 

 

1.Общие сведения

 

1.1 Аппроксимация функций

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

Допустим, мы имеем набор значений yi, xi. Такую зависимость можно построить, используя полиномы Ньютона или Эрмита, которые основаны на принципе прохождении кривой через все экспериментальные точки, но при такой зависимости в точках, не совпадающих с экспериментальными погрешности могут быть большими. Поэтому используется метод наименьших квадратов (МНК).

Суть метода наименьших квадратов.

1) Аппроксимируемую функцию обозначают f(x), а экспериментальные значения yi, xi.

2) Вычисляем отклонения функции f(x) от yi, полученных в точках xi

3) В силу того что может быть как положительной так и отрицательной, то мы берём квадратичное отклонение .

4) Находим суммарное квадратичное отклонение

(1).

5) Потребуем, чтобы Q было минимальным

, k– число констант в описываемой функции.

 

 

2. Пример применения МНК

 

 

Рассмотрим теперь вопрос о том, как при использовании критерия наименьших квадратов получается система уравнений для определения функциональной зависимости f(X).

 

2.1. Квадратичная зависимость f(X)

Напишем . Наша задача состоит в том, чтобы определить значения с1­­2­,с3,при которых сумма Q(см. формулу 1) станет минимальной.

Применяя метод наименьших квадратов (см. общие положение) получим:

 

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

 

2.2 Программа на языке PASKAL применения МНК для квадратичной функции

program Irina;

Var

X: array [1..100] of Real;

Y: array [1..100] of Real;

i,N: integer;

a11,a12,a13,a23,a33,b1,b2,b3,d,c1,c2,c3,x1,x2: Real;

DataFile: Text;

Begin

writeln ('Введите число эксперементальных точек N');

readln(N);

writeln('ввидите координаты эксперементальных точек');

for i:= 1 to N do

Begin

readln (X[i], Y[i]);

end;

a11:=N;a12:=0;a13:=0;a23:=0;a33:=0;

b1:=0;b2:=0;b3:=0;

for i:= 1 to N do

Begin

a12:=a12+X[i];a13:=a13+Sqr(X[i]);

a23:=a23+Sqr(X[i])*X[i];a33:=a33+Sqr(Sqr(X[i]));

b1:=b1+Y[i];b2:=b2+X[i]*Y[i];

b3:=b3+Sqr(X[i])*Y[i];

end;

d:=(a23*a11-a12*a13)/(a13*a11-a12*a12);

c3:=((b1*a12-b2*a11)*d-b1*a13+b3*a11)/((a13*a12-a23*a11)*d-a13*a13+a33*a11);

c2:=(b2*a11-b1*a12+c3*(a12*a13-a23*a11))/(a13*a11-a12*a12);

c1:=(b1-a12*c2-a13*c3)/a11;

writeln('c1=', c1:10:5,',c2=',c2:10:5,',c3=',c3:10:5);

Assign(DataFile,'MnkRes.dat');

Rewrite(DataFile);

for i:= 1 to N do

writeln(DataFile,X[i]:10:5,Y[i]:10:5,c1+c2*X[1]+c3*Sqr(X[i]):10:5);

Close(DataFile);

writeln('ввидите значение х1');

Readln(x1);

writeln ('при х=х1 у1=',c1+c2*X[1] +c3*Sqr(X1):10:5);

writeln('ввидите значение х2');

Readln(x2);

writeln ('при х=х2 у2=',c1+c2*X[2] +c3*Sqr(X2):10:5);

end.

2.3 Обработка полученных результатов

Пример расчета для квадратичной зависимости.

Рассчитаем экспериментальное значение уноса кремневой кислоты в зависимости от давления с помощью программы написанной на языке PASKAL(см. пункт 3) и сравним полученные значения с заданными. Построим график зависимости.

Таблица 1.Зависимость уноса кремневой кислоты от давления пар ТП-240

№ эксперимента Давление Р МПа Унос кремневой кислоты расчет.Ky% Унос кремневой кислоты эксперемент.Ky %
      1,19
    1,1 1,00
    1,2 1,08
    1,5 1,41
    2,1 2,0
    2,8 2,86
    3,8 3,97
    5,2 5,35
      6,98
      8,87

 

 

 
 

график 1–экспериментальная кривая

график 2 –расчетная кривая

Рисунок 1.Зависимость уноса кремниевой кислоты от давления котла ТП-240

 

2.4 Самостоятельная работа

20 вариант.

Полученные данные растворимости Na2PO4 в котловой воде от температуры.

Обобщите эти данные с помощью МНК для получения функциональной зависимости вида и определить значение растворимости К при Т=15 ОС и Т= 325 ОС.

Решение:

Введите число экспериментальных точек N: 8

введите координаты экспериментальных точек:

0 8

45 30

100 42

115 49

200 38

210 32

250 10

300 1

c1= 10.54476,c2= 0.49586, c3= -0.00183

введите значение х1 =15

при х=х1 у1= 17.57087

введите значение х2=325

при х=х2 у2= -21.64442

Таблица 2. Зависимость растворимости Na2PO4 в котловой воде от температуры.

N                
T, 0C                
К, г/(м2ч)                
Кэкс, г/(м ч) 10,55 29,15 41,83 43,36 36,40 33,95 20,11 -5,4

 

 
 

1– экспериментальная кривая;2 – аппроксимированная кривая

Рисунок 2 Зависимость растворимости Na2PO4 в котловой воде от температуры.

 

3. Пример применения МНК

 

 

Рассмотрим теперь вопрос о том, как при использовании критерия наименьших квадратов получается система уравнений для определения функциональной зависимости f(X).

 

3.1Степенная зависимость f(X)

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

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

Дифференцируя по a и по b, придем к системе двух линейных уравнений с двумя неизвестными и b.

 

Перепишем данную систему в общепринятом виде:

где

d11 =N, d12 =d21 = , d22 = ,

z1 = , z2 = , , w = b

Будем решать систему по правилу Крамера, согласно которому если определитель системы D не равен 0.

После определения u и w находим

Текст программы для проведения степенной функции как можно ближе к экспериментальным значениям (Xj,Yj, j=1,2,…,N) с помощью МНК представлен следующим образом.

3.1.2 Программа на языке PASKAL применения МНК для степенной функции

program Mnk;

Var

{Координаты эксперементальных точек}

X: array [1..100] of Real;

Y: array [1..100] of Real;

i,N:Integer;

d11,d12,z1,d22,z2,d,u,w,x1,x2:Real;

DataFile: Text;

function Step(arg,s:real):real;

begin if arg=0 then step:=0 else step:=Exp(s*Ln(arg));

end;

Begin

{ввод числа точек и их координата}

Assign(DataFile,'Dan.dat');

Reset(DataFile);

Readln(DataFile,N);

For i:=1 to N do

Readln(DataFile,X[i],Y[i]);

Close(DataFile);

{Расчет коэффициентов}

d11:=N;d12:=0;z1:=0;d22:=0;z2:=0;

For i:=1 to N do

Begin

d12:=d12+Ln(X[i]);

d22:=d22+Sqr(Ln(X[i]));

z1:=z1+Ln(Y[i]);

z2:=z2+Ln(X[i])*Ln(Y[i]);

end;

d:=d11*d22-Sqr(d12);

Date: 2015-09-05; view: 309; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию