Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Углубленный курс информатики. Учебное пособие
.pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
УГЛУБЛЕННЫЙ КУРС ИНФОРМАТИКИ
Рекомендовано в качестве учебного пособия
Редакционно-издательским советом
Томского политехнического университета
Издательство
Томского политехнического университета
2017

У25
УДК 004(075.8)
ББК 32.81я73
У25
Авторы
Э.Д. Иванчина, В.А. Чузлов, Г.Ю. Назарова,
Н.С. Белинская, И.М. Долганов, И.О. Долганова
Углубленный курс информатики : учебное пособие /
Э.Д. Иванчина, В.А. Чузлов, Г.Ю. Назарова и др. ; Томский политехнический университет. – Томск : Изд-во Томского политехнического университета, 2017. – 76 с.
ISBN 978-5-4387-0788-2
В пособии изложены методологические основы модульного програм-
мирования алгоритмов решения задач расчета и оптимизации процессов и
аппаратов химической технологии. Рассмотрена программная реализация
итерационных методов решения нелинейных алгебраических и трансцендентных уравнений. Составлены модули для решения обыкновенных дифференциальных уравнений первого порядка и их систем. Представлены основы
работы со средой Delphi.
Предназначено для студентов химико-технологических специальностей, а также инженеров-технологов химических, нефтехимических и нефтеперерабатывающих заводов.
УДК 004(075.8)
ББК 32.81я73
Рецензенты
Кандидат технических
начальник отдела технологического инжениринга
ОАО «ТомскНИПИнефть»
Д.С. Полубоярцев
Кандидат химических наук
научный сотрудник Института химии нефти СО РАН
Е.Б. Кривцов
ISBN 978-5-4387-0788-2 © ФГАОУ ВО НИ ТПУ, 2017
© Авторы, 2017
© Оформление. Издательство Томского
политехнического университета, 2017

ВВЕДЕНИЕ
Деятельность инженера-технолога в современных условиях связана с постоянным использованием методов и средств информатики. Информационные технологии делают возможным осуществление компьютеризации производства и обеспечение инженерно-технологического
персонала заводов надежным инструментом для экономического и технологического прогнозирования химических процессов.
Использование интеллектуальных компьютерных систем для обучения инженеров-технологов позволяет значительно
ческий уровень технического персонала и операторов.
Построение таких компьютерных систем является сложным многоэтапным процессом анализа, сбора и обработки информации, касающейся функционирования химико-технологических систем, методологической основой которого является математическое моделирование, а
стратегией изучения – системный анализ. Сущность такого подхода заключается в том, что вся информация
о рассматриваемом явлении
накапливается постепенно и обобщается с целью разработки полной
модели химико-технологического процесса.
В основе физико-химических моделей процессов и аппаратов химических производств лежит механизм и кинетика превращения реагентов на катализаторе, имеющие нестационарный характер изменения активности катализатора и износа оборудования. Широкое внедрение методов компьютерного моделирования
и информационных систем в химическую технологию не только не освобождает исследователя от
необходимости использования математических методов в решении химических задач, но и, напротив, делают это одним из важнейших этапов
подготовки химика-технолога. Так, решение нелинейных уравнений
позволяет достаточно быстро и точно определять выходы продуктов в
химических процессах. При
исследовании кинетических закономерностей химических процессов и явлений необходимо знать приближенные
методов решения дифференциальных уравнений, а также методы вычисления интегралов. Владение статистическими методами обработки
результатов и элементами теории вероятностей обязательно для анализа экспериментально полученных данных.
Кроме того, для эффективного поиска, переработки, преобразования, распространения и использования информации требуется знание
алгоритмических языков: «... без алгоритмов и алгоритмических языков
предмета «Информатики» не существует», – писал академик Глушков.
увеличить техни-
3

Многолетняя практика подготовки технологов показала, что только
на основе принципа энциклопедичности и непрерывности образования
возможно научить студента мыслить диалектически, при этом нельзя
абстрагироваться на понятиях «Информатика», так же, как и на понятии
«Технология» от конкретной сущности технологии и информатики в
определенной области естествознания. Поэтому анализ свойств химикотехнологической системы при
разования информации рационально использовать при изучении курса
«Информатики». Аналогично базы данных, содержащие теплофизические и физико-химические свойства веществ, являются более доступными для восприятия будущими химиками-технологами, чем их общее
понятие.
Этот курс на кафедре химической технологии топлива и химической кибернетики читается более 20 лет
ванием, опираясь на результаты учебно-методической и научноприкладной работы. При этом накапливаются базы данных и базы знаний об основных процессах нефтехимической, химической и нефтеперерабатывающей промышленности.
Данное пособие завершает цикл методических разработок курса
«Информатика», читаемых для студентов Института природных ресурсов национального исследовательского Томского политехнического
университета.
одновременном освоении законов преоб-
с постоянным усовершенство-
4

1. ОБРАБОТКА ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ.
ИНТЕРПОЛЯЦИОННЫЙ ПОЛИНОМ ЛАГРАНЖА
1.1. Постановка задачи интерполяции
При исследовании технологических процессов возникает необходимость в обработке данных, полученных в эксперименте. Пусть в химическом реакторе протекает процесс превращения веществ. Пусть дана
некоторая функция y = f(x) – функция выхода продуктов реакции от
концентрации исходного компонента. Любому значению х (концентрации исходного компонента) ставится в соответствие значение
продукта реакции). Функция f(x) является результатом сложного хроматографического анализа или f(x) измеряется в дорогостоящем эксперименте.
В этом случае вычисляют таблицу значений выходного параметра
от аргумента и по некоторым точкам строят функцию y = f(x), где х –
концентрация исходного компонента; y – концентрация продукта реакции.
Полином
Pm(x) при этом называется аппроксимирующим. Для
практики важен случай аппроксимации функции полиномом степени m
P
Коэффициенты a
(x) = a0 + a1x + a2x2 +. . . + amxm.
m
, ... , am должны подбираться так, чтобы откло-
0, a1
нение полинома от данной функции было наименьшим, а следовательно, задача о приближении функции состоит в определении a
полинома.
y (выход
, a1, ... , am
0
Интерполяционный многочлен Лагранжа
Пусть на отрезке [x
, xn] заданы n + 1 точки и имеется таблица экс-
0
периментальных значений функции
y = f(x) : y
, y1, y2, ..., yn, y0 = f(x0); y1 = f(x1); ...; yn = f(xn).
0
Требуется найти значения этой функции для промежуточных значений аргумента при условии
P
) = f(x0) = y0,
m(x0
..........................
..........................
P
) = f(xi) = yi,
m(xi
где i = 0, 1, 2, ... , n – узлы интерполяции.
x
x
x1 …
0
F(x) F(x0) F(x1) … F(xn)
5
x
n

Такуая задача называется задачей интерполирования. Точки xi яв-
P
x
x
x
x
ляются узлами интерполяции, функция f(x) является интерполируемой
функцией, а многочлен P
(x) – интерполяционным многочленом.
m
В общем случае узлы не являются равноотстоящими, шаг таблицы неравномерный. Построим интерполяционный многочлен на отрезке [x
, xn].
0
Искомый многочлен запишем в виде:
P
(x) = a0 + a1x + a2x2 +. . . + amxm.
m
Задача интерполирования геометрически сводится к построению
кривой через заданные точки x. Аналитически, задача сводится к решению системы уравнений и определению неизвестных коэффициентов.
Определение коэффициентов полинома (многочлена) осуществляется путем расположения (n + 1) узловой точкой.
Чтобы система имела единственное решение, требуется, чтобы количество неизвестных коэффициентов в полиноме (а
) – m + 1 было рав-
j
но количеству уравнений n + 1 или m = n.
Пусть в (n + 1)-й точках x
Требуется построить многочлен P
заданные значения y
()( )( )()
() =
Lx
==
i
()( )( )()
iiiiiin ik
, т. е. такой, что:
i
P
n(xi
... ...
xxxxx xx xx
−−− − −
011
... ...
−−− − −
xxxxx xx xx
011
, x1, ..., xn определены значения y0, y1, ..., yn.
0
(x), принимающий в узловых точках
n
) = yi, i = 0, 1, ..., n.
n
() ()
xYLx
=⋅
nii
ii n k
0
=
i
−+
−+
;
n
()
∏
()
k
0
=
ki
≠
,
где L
(x) – множитель Лагранжа; x – текущая точка для интерполирования
i
()
Px Y
=+
n
Y
++
1
()
... .
Y
+
n
xxxxxx xx
()()()( )
n
Px y
()
xxxx xx
()
xx xx xx xx
−−− −
nnn nn
=
()
ni
0
xx xx xx
−− −
1012 1
−−− −
0
i
=
xx xx xx
−− −
()()
xxxx xx
()()( )
−− −
012 1
012 1
12
−− −
0102 0
()
02
()
()()
n
−
∏
0
k
=
≠
ki
...
...
6
x
k
−
ik
...
...
()
()
;
x
()
...
n
n
n
...
n
()
...
−
n
−

1.2. Решение задач интерполирования
Пример 1. Дана таблица значений теплоёмкости вещества в зависимости от температуры C
= f(T).
p
x (T) 300 400 500 600
y (Cp) 52,89 65,61 78,07 99,24
Вычислить значение теплоёмкости в точке Т = 450 К.
(450 400)(450 500)(450 600)
(450) 52,89
f
=⋅+
(450 300)(450 500)(450 600)
+⋅+
(400 300)(400 500)(400 600)
−−−
(300 400)(300 500)(300 600)
−−−
−−−
65,61
−−−
(450 300)(450 400)(450 600)
+⋅+
−−−
(500 300)(500 400)(500 600)
−−−
78,07
(450 30
−
0)(450 400)(450 500)
−−
+
(600 300)(600 400)(600 500)
−−−
(450) 71.31 Дж/ моль К
С =⋅
p
()
99,24
⋅
Пример 2. Составить программу для расчета таблично заданной
функции по формуле Лагранжа и рассчитать ее значение в т. x = 1.8.
7

Исходные данные:
x 1 2 3 4
y 0 3 5 7
1.3. Аппроксимация
Постановка задачи аппроксимации
Пусть задана функциональная зависимость y = f(x), полученная в
эксперименте:
X
X
Y
X2 X3 …
1
Y
Y2 Y3 …
1
X
Y
n
n
Если аналитическое выражение функции f(x) неизвестно, то возникает задача: найти такую непрерывную зависимость:
,Yfx=
()
значения которой при x = x
были близки к опытным данным yi (i = 1, 2, … , n).
i
8

Геометрически задача аппроксимации состоит в проведении кривой,
P
y
как возможно ближе примыкающей к системе экспериментальных точек.
Задача состоит в аппроксимации неизвестной функциональной зависимости между x и y полиномом заданной степени m и определении наилучших
параметров эмпирической зависимости методом наименьших квадратов.
m
( ) ...
xaaxax ax ax
=+ + ++ =
mmk
01 2
2
mk
k
0
=
.
Метод наименьших квадратов
Пусть в результате эксперимента получена таблица значений
функции y
(i = 1, ..., n). Задача состоит в аппроксимации неизвестной
i
функциональной зависимости между x и y эмпирической формулой:
( ) ( ; , ,..., )
где m – число параметров; a
xfxaa a=
0…am
01
– неизвестные коэффициенты.
Требуется определить искомые коэффициенты а
,
m
зависимости та-
j
ким образом, чтобы этот полином наилучшим образом описывал экспериментальные данные, а сумма квадратов отклонений экспериментальных значений y
от соответствующих значений, вычисленных по ап-
i
проксимирующему многочлену, была минимальной:
где F(a
n
( , , ..., ) [ ( ; , , ..., )] min,
Faaa yfxaaa
01 01
, a1, …, am) – функция коэффициентов.
0
=− =
mii m
i
=
1
2
В точке минимума функции F ее частные производные обращаются в 0:
FFF
∂∂∂
0; 0; 0.
== =
aaa
∂∂∂
01
m
Полиномиальная зависимость:
P(x) = a
( , ,..., ) [ ( )] min
Fa a a y Px
01
+ a1x + a2x2 + ... + amxm;
0
mii
n
=− →
1
=
i
2
.
Дифференцируя по параметрам, получаем математическое условие
минимума квадратичной функции:
F
∂
=− ⋅ − + ⋅ + ⋅ + + ⋅ ⋅ =
a
∂
0
F
∂
=− ⋅ − + ⋅ + ⋅ + + ⋅ ⋅ =
a
∂
1
..........................................................................................
F
∂
=− ⋅ − + ⋅ + ⋅ + + ⋅ ⋅ =
a
∂
m
n
2(( ... ))10;
2(( ... )) 0;
2(( ... )) 0.
yaaxax ax
iiimi
=
i
1
n
yaaxax ax x
iiimii
1
=
i
n
yaaxax ax x
=
1
i
01 2
01 2
01 2
iiimii
2
2
2
m
m
mm
9

В результате решения системы линейных уравнений получим коэффициенты а
, а1, ..., аm искомого полинома.
0
1.3.1. Линейная аппроксимация
При обработке экспериментальных данных возможно построить
линейный аппроксимирующий полином, т. е. описать закон изменения
линейным уравнением:
P
(x) = a0 + a1x
1
необходимо найти коэффициенты a
, a1 по методу
0
наименьших квадра-
тов (МНК).
Расчет неизвестных коэффициентов a
n
Fyaax
F
∂
a
∂
0
∂
F
∂
a
1
()min;
=−−⋅→
ii
i
=
1
=− ⋅ − − ⋅ ⋅ =
2( )10
=− ⋅ − − ⋅ ⋅ =
2( ) 0
01
n
ya ax
ii
i
1
=
n
ya axx
iii
i
1
=
01
и a1
0
2
01
.
Преобразование системы:
nn
yana x
−⋅−⋅ =
01
ii
==
11
ii
nnn
⋅−⋅ −⋅ =
(y ) 0
xa xa x
i0 1
===
111
iii
ana x y
axax xy
iii
nn
⋅+ ⋅ =
01
nnn
⋅+⋅ = ⋅
01
iii
===
ii
ii
==
11
iiii
111
Выражения для коэффициентов a
nn
yx
ii
ii
11
==
nn
xy x
()
a
ii
==
0
⋅
ii i
11
==
n
nx
nn
11
ii
==
i
1
i
=
xx
ii
2
nn nn
2
yx x xy
ii ii
11 11
== ==
0
⋅−⋅ ⋅
ii i ii
0
;
2
.
2
()
, a1:
2
nn
nx x
22
⋅−
11
ii
==
()
ii
()
;
x
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
