ВУЗ:
Составители:
55
отметим, что и полиномиальная кривая при ее
экстраполяции вправо (за пределы экспериментального
окна) приводит к увеличению значения средней длины, что
тоже неверно.
Проведем расчеты с помощью программы nm.pas.
Учитывая, что полученные с помощью Excel функции
плохо описывают поведение исследуемой величины в
последней четверти экспериментального окна, выберем в
качестве целевой функцию (5.2). Добавим проверку
функции отклика на неотрицательность - если указанное
условие будет нарушено, то значение функции отклика
будет увеличиваться в 10 раз, что приведет к возрастанию
целевой функции. Проверим на пригодность в качестве
аппроксимирующего уравнения несколько измененную
версию гиперболической зависимости:
xb
b
by
+
+=
2
1
0
const
ur=5;
fact:array[1..ur] of
real=(7,8,9,10,11);
funct:array[1..ur] of
real=(11,5,2,1,0);
{Вычисление целевой функции}
procedure functmin(var z:real; b:vect1);
var i:integer;
y_theor,y_theor1:real;
begin
tev:=tev+1;
z:=0;
for i:=1 to ur do
begin
y_theor:=b[1]+b[2]/(b[3]+fact[i]);
if y_theor<0 then y_theor1:=y_theor*10
else y_theor1:=y_theor;
56
z:=z+sqr((funct[i]-y_theor1)/y_theor);
end;
z:=sqrt(z/ur)
end;
Результаты пяти прогонов сведены в таблицу 5.2.
Таблица 5.2
Исходные данные Результат
Номер
прогона
b
0
b
1
b
2
Размер
многогран
ника
b
0
b
1
b
2
Значение
целевой
функции
1 1 1 1 1 -1,04 7,70 -6,45 0,471
2 3 3 3 3 -7,78 58,32 -3,50 0,484
3 -5 35 -5 1 -2,95 16,35 -5,84 0,451
4 -3 10 -5 2 -2,66 14,72 -5,96 0,451
5 -6 40 1 1 -5,51 34,35 -4,77 0,463
Анализ показывает, что наблюдается довольно
большой разброс значений коэффициентов. Выберем третий
вариант:
84,5
35,16
95,2
−
+−=
x
y . Отметим, что экстраполяция
по этой формуле также ведет к ошибочным результатам: за
правую границу экспериментального окна дает
отрицательные значения, а за левой границей функция
стремится к бесконечности при x → 5,84. Данный пример
показывает, что регрессионные уравнения применимы
только в пределах экспериментального окна, в рамках
которого они получены, а экстраполяция допустима лишь
на небольшое расстояние.
Второй проверенной формулой стала
логарифмическая зависимость
()
xbbby +
+
=
210
ln
,
приведшая к результатам
b
0
= 25,33, b
1
= -12,03 и b
2
= -2,78
при значении целевой функции 0,536
. На рисунке 5.5
отметим, что и полиномиальная кривая при ее z:=z+sqr((funct[i]-y_theor1)/y_theor); экстраполяции вправо (за пределы экспериментального end; окна) приводит к увеличению значения средней длины, что z:=sqrt(z/ur) тоже неверно. end; Проведем расчеты с помощью программы nm.pas. Учитывая, что полученные с помощью Excel функции Результаты пяти прогонов сведены в таблицу 5.2. плохо описывают поведение исследуемой величины в Таблица 5.2 последней четверти экспериментального окна, выберем в Исходные данные Результат качестве целевой функцию (5.2). Добавим проверку прогона многогран Номер Значение Размер функции отклика на неотрицательность - если указанное ника b0 b1 b2 b0 b1 b2 целевой условие будет нарушено, то значение функции отклика функции будет увеличиваться в 10 раз, что приведет к возрастанию целевой функции. Проверим на пригодность в качестве 1 1 1 1 1 -1,04 7,70 -6,45 0,471 2 3 3 3 3 -7,78 58,32 -3,50 0,484 аппроксимирующего уравнения несколько измененную 3 -5 35 -5 1 -2,95 16,35 -5,84 0,451 b 4 -3 10 -5 2 -2,66 14,72 -5,96 0,451 версию гиперболической зависимости: y = b0 + 1 b2 + x 5 -6 40 1 1 -5,51 34,35 -4,77 0,463 const ur=5; Анализ показывает, что наблюдается довольно fact:array[1..ur] of большой разброс значений коэффициентов. Выберем третий real=(7,8,9,10,11); 16,35 вариант: y = −2,95 + . Отметим, что экстраполяция funct:array[1..ur] of x − 5,84 real=(11,5,2,1,0); по этой формуле также ведет к ошибочным результатам: за {Вычисление целевой функции} правую границу экспериментального окна дает procedure functmin(var z:real; b:vect1); отрицательные значения, а за левой границей функция var i:integer; стремится к бесконечности при x → 5,84. Данный пример y_theor,y_theor1:real; показывает, что регрессионные уравнения применимы begin только в пределах экспериментального окна, в рамках tev:=tev+1; которого они получены, а экстраполяция допустима лишь z:=0; на небольшое расстояние. for i:=1 to ur do begin Второй проверенной формулой стала y_theor:=b[1]+b[2]/(b[3]+fact[i]); логарифмическая зависимость y = b0 + b1 ln(b2 + x ) , if y_theor<0 then y_theor1:=y_theor*10 приведшая к результатам b0 = 25,33, b1 = -12,03 и b2 = -2,78 else y_theor1:=y_theor; при значении целевой функции 0,536. На рисунке 5.5 55 56
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »