Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 1.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
585 Кб
Скачать
☆

2.2 Нахождение коэффициентов cj при точечной аппроксимации методом наименьших квадратов

Минимальное значение K в формуле (2.2) достигается при тех сj , при которых

(2.5)

(2.6)

Здесь xi и yi – заданные числа.

Пример: построить аппроксимирующую параболу для функции

x

0

1

2

3

y

-1,2

-0,1

1,3

1,8

Составим таблицу

Запишем систему нормальных уравнений для нашей кривой.

или

Решая систему, получаем:

или

Вычисляя K по формуле (2.9), получаем: K=0,0720. У любой параболы второй степени значение K, вычисленное по формуле (2.9), будет больше, чем 0,0720.

2.3 Неполиномиальная регрессия

Часто на практике возникает следующая задача. Имеется объект исследования (ОИ), который характеризуется набором переменных: входных ( ) и выходной y.

Требуется найти зависимость выходной переменной от входных

( 2.7 )

При этом считается, что механизмы процессов, протекающих внутри объекта исследования, неизвестны, а имеются только соответствующие значения входных и выходных параметров. Такая задача носит название задачи «черного ящика».

Рассмотрим простейший случай, когда на вход действует только одна переменная x и требуется найти

( 2.8 )

Решение задачи моделирования в этом случае состоит из 4 этапов:

  1. проведение эксперимента

  2. выбор вида экспериментальной зависимости

  3. нахождение параметров выбранной зависимости

  4. исследование модели и выводы.

На первом этапе задаем значения входной переменной x из возможного диапазона и замеряем соответствующие значения выходной переменной y.

x

x0

x1

…

xm

y

y0

y1

…

ym

По экспериментальным данным строим график

Прямая соединительная линия 19 Прямая соединительная линия 20 Полилиния 21

Рис. 2.2 Экспериментальная кривая

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

Таблица 2.1

№

Формула

Средние точки

1

2

3

4

5

6

Здесь х0, y0 – первая, а хm , ym – последняя точки исходной таблицы.

Для каждой функции рассчитывается средняя точка. Все эти точки наносятся на график с экспериментальной кривой.

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

Пусть x=[5 7 9 11 13];y=[2.5 4.9 8 12.1 16.9];

Тогда

xap =(5+13)/2=9

xgео =(5*13)^0.5= 8.06

xgar =2*5*13/(5+13)= 7.22

yap =(2.5+16.9)/2= 9.7

ygeo = (2.5*16.9)^0.5= 6.5

ygar = 2*2.5*16.9/(2.5+16.9)= 4.36

Средняя точка для первой кривой –(8.06, 6.5)

Средняя точка для второй кривой –(9, 6.5)

Средняя точка для третьей кривой –(9, 4.36)

Средняя точка для четвертой кривой –(8.06, 9.7)

Средняя точка для пятой кривой –(7.22, 9.7)

Средняя точка для шестой кривой –(7.22, 4.36)

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

Эту часть задачи можно решить, построив график на Scilab.

clc

xbasc()

x=[5 7 9 11 13];y=[2.5 4.9 8 12.1 16.9];

n=length(x);

xap=(x(1)+x(n))/2

xgar=2*x(1)*x(n)/(x(1)+x(n))

xgeo=(x(1)*x(n))^.5

yap=(y(1)+y(n))/2

ygar=2*y(1)*y(n)/(y(1)+y(n))

ygeo=(y(1)*y(n))^.5

t=[xgeo xap xap xgeo xgar xgar]

z=[ygeo ygeo ygar yap yap ygar]

plot(x,y)

plot(t,z,'*')

for i=1:6

xnumb(t(i),z(i),i)

end

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

Приведем полученную кривую к линейному виду.

Кривую (как и любую другую из таблицы 2.1) приводят к линейному виду (то есть к виду ) заменой переменных. В этом случае g=lny, c0=lna, c1=b, t=lnx.

Коэффициенты (параметры) с0 и с1 находят методом наименьших квадратов, то есть добиваются того, чтобы было минимальным. Эта задача сводится к решению системы нормальных уравнений:

или

В нашем примере получается система:

Решая ее, получаем с0=- 2.294 с1= 1.995

Зная с0 и с1 , находят a и b. В нашем примере

Таким образом, мы заменили таблично заданную функцию кривой .

Подставляя в полученную формулу с конкретными значениями a и b значения x0, x1, … , xm и сравнивая их с исходными данными, делают выводы об адекватности математической модели.

В нашем случае модель получилась адекватной.

x

y

5

2.5

2.480

7

4.9

4.853

9

8

8.011

11

12.1

11.956

13

16.9

16.685

Решим эту часть задачи на scilab.

Решение.

. Покажем, как найти неизвестные коэффициенты a и b на Scilab.

clc

xbasc()

function [zr]=F(c,z)

zr=z(2)-(c(1)*z(1)^c(2))

endfunction

x=[5 7 9 11 13];

y=[2.5 4.9 8 12.1 16.9];

z=[x;y];

c=[1;1];

[d,S]=datafit(F,z,c)

t=5:.01:13;

Yt=(d(1)*t^d(2));

plot2d(x,y,-3);

plot2d(t,Yt);

S = 0.0067979

d = 0.0973802 2.0102774

В ответе d(1)= 0.0973802 это a, d(2)= 2.0102774 это b.

Таким образом, уравнение кривой, полученной на scilab,

x

y

5

2.5

2.464

7

4.9

4.846

9

8

8.032

11

12.1

12.022

13

16.9

16.819