Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Углубленный курс информатики. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
УГЛУБЛЕННЫЙ КУРС ИНФОРМАТИКИ
Редакционно-издательским советом
Томского политехнического университета
Издательство
Томского политехнического университета
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]