Голдаев С.В., Ляликов Б.А. Основы математического моделирования
в теплотехнике: Учебное пособие. - Томск: Изд. ТПУ, 1999. – 106 с.
27
Осуществим эту процедуру с применением метода наименьших квадра-
тов. Допустим, что координаты точки 1 заданы или определены из предыду-
щих расчетов. При построении линии 1-2 необходимо определить координа-
ты по X (так как Y
2
=Y
1
= const) точки 2 программным путем. При ручном
способе построения координата этой точки определяется проектировщиком
визуально при пересечении двух линий - кривой равновесия и горизонталь-
ной линии, исходящей из точки 1. На ЭВМ визуальное фиксирование точки,
образующейся при пересечении двух линий, возможно при использовании
графического редактора либо системы автоматизированного проектирования
(САПР). В данном примере рассматривается возм
ожность математического
моделирования процесса на основе аналитических расчетов координат точки
2.
Алгоритм построения горизонтальной линии 1-2, т. е., в конечном ито-
ге, нахождение координаты X
2
, сводится к следующему итеративному циклу:
1.По величине абсциссы рабочей линии Х
1
точки 1 определяем значение ор-
динаты кривой равновесия Y
1
кр (с использованием процедур Appr и Yap).
2.Производим сравнение ординат кривой равновесия и рабочей линии:
ΔY
1
= Y
1кр
- Y
1рл
.
3.Если Y
1
кр
> Y
1
рл
, если ΔY
i
> ε (заданная степень точности), то значение X
1
рл
уменьшается на величину шага
Δ
X, и итерационный процесс продолжается,
иначе цикл по поиску координаты Х
2
кр
точки 2 прекращается с фиксацией
усредненного значения X
2
на последнем шаге.
Для построения точки 3 необходимо определить значение ординаты Y
3рл
,
которая находится из аналитического выражения рабочей линии по известному
значению X
2кр
.
Описанный алгоритм реализован в виде программы, листинг которой ,
исходные данные и результаты решения примера 2.5 представлены ниже.
program grappr;
uses uchism2;
var xxx1,yyy1 : mac16; {Массивы табличных данных аппроксими-
руемой зависимости}
begin
assign(finp,’c:\tp55\st\G6A54\dint1.dat’);
reset(finp);
assign(fout,’c:\tp55\st\G6A54\rint1.dat’);
rewrite(fout);
readln(finp,H); {Считывание количества точек в табличной зависимо-
сти}
for i:=1 to h do read(finp,xxx1[i]); { Считывание массивов табличных}
for i:=1 to h do read(finp,yyy1[i]); аргументов и функций}
Appr(H,E1,Xxx1,Yyy1,MM,Na,E,Z); {Обращение к процедуре аппрок-
симации}