Uploaded by Людмила Благородная

INFORMATIKA Kursovaya rabota

advertisement
Министерство образования и науки Российской Федерации
федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Санкт-Петербургский государственный технологический институт
(технический университет)»
Кафедра системного анализа
А.В. Гайков
ИНФОРМАТИКА
Методические указания к выполнению курсовой работы
для студентов заочной формы обучения
по направлениям подготовки
15.03.04 - Автоматизация технологических процессов и производств
27.03.03 - Системный анализ и управление в химической технологии
Санкт-Петербург
2015
2
ОГЛАВЛЕНИЕ
Введение……………………………………………………..……………...… 3
Описание метода наименьших квадратов…………………………………... 4
Постановка задачи…………………………………………………...……….. 9
Разработка пользовательского интерфейса………………………...……….
11
Создание главного меню программы………………………………………..
11
Помещение элементов управления на форму………………………………
19
Написание программного кода приложения………………………………..
26
Примеры блок-схем алгоритмов......................................................................
41
Результаты выполнения программы………………………………………… 43
Варианты заданий на курсовую работу……………………………………... 46
Литература.......................................................................................................... 57
ПРИЛОЖЕНИЕ А. Примеры оформления титульных листов...................... 58
ПРИЛОЖЕНИЕ Б. Примеры оформления задания на курсовую работу..... 60
ПРИЛОЖЕНИЕ В. Примеры линеаризации нелинейных зависимостей..... 66
3
ВВЕДЕНИЕ
Курсовая работа по информатике выполняется каждым студентом
самостоятельно по вариантам. Варианты выбираются в соответствии с
последним номером зачетной книжки. Номер зачетной книжки совпадает с
номером студенческого билета:
Номер
варианта
1
2
3
4
5
6
7
8
9
10
Последняя цифра
студенческого билета
1
2
3
4
5
6
7
8
9
0
Курсовая работа должна содержать:
- титульный лист (см. Приложение А);
- введение;
- задание на курсовую работу (см. Приложение Б);
- теоретическую часть (описание метода);
- постановку задачи;
- практическую часть (блок-схемы, описание пользовательского интерфейса,
программный код);
- результаты работы программы;
- выводы
- список литературных источников.
Задание и титульный лист должны быть оформлены в соответствии со
стандартом. Графические зависимости могут быть построены как в среде
Visual Basic, так и с помощью программных продуктов, таких как, например,
Microsoft Excel или MathCAD.
Курсовая работа состоит в написании программного комплекса,
реализующего метод наименьших квадратов. Описание метода приведено в
данных методических указаниях. Также приведены образец титульного листа
и задания.
4
ОПИСАНИЕ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ
Пусть имеется установка, работающая по принципу «черного ящика».
На входе в данную установку мы можем установить вектор входных
параметров xi , а на выходе из установки измерить вектор выходных
параметров y i , где i = 1..n . Число n представляет собой число опытов (см. рис.
1).
Рисунок 1 - Изображение исследуемого объекта.
Существование зависимости между двумя наборами величин xi и y i ,
где i = 1..n можно определить с помощью коэффициента парной корреляции
rxy , численная величина которого вычисляется по формуле:
n
rxy =
n
n
i =1
i =1
n ⋅ ∑ ( x i ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
n
n
⎛
⎜ n ⋅ ∑ x 2 − ⎛⎜ ∑ x ⎞⎟
⎜ i =1 i ⎝ i =1 i ⎠
⎝
2
2
n
n
⎞
⎞ ⎛
⎛
⎞
2
⎟ ⋅⎜n ⋅ ∑ y − ⎜∑ y ⎟ ⎟
i
i
⎟ ⎜ i =1
⎝ i =1 ⎠ ⎟⎠
⎠ ⎝
(1)
.
Коэффициент парной корреляции находится в пределах − 1 ≤ rxy ≤ +1 , то
есть rxy ≤ 1 или rxy ∈ [0;1] . Чем ближе коэффициент парной корреляции
находится к единице, тем сильнее зависимость y i = f ( xi ) . При равенстве
коэффициента парной корреляции нулю зависимость отсутствует. По
числовому значению коэффициента парной корреляции можно сделать
предположение о виде зависимости.
Если коэффициент парной корреляции по абсолютной величине равен
единице, то существует линейная зависимость y i = a ⋅ xi + b (см. рис.).
Рисунок 2 – Вид линейной зависимости
Если коэффициент парной корреляции положительный, то с увеличением
аргумента, увеличивается значение функции (см. рис.)
5
Рисунок 3 – С увеличением аргумента увеличивается значение функции
При отрицательном коэффициенте парной корреляции с увеличением
аргумента, уменьшается значение функции.
Рисунок 4 – С увеличением аргумента уменьшается значение функции
В случае существования зависимости между входными и выходными
параметрами объекта исследования ищется уравнение регрессии. Для поиска
уравнения регрессии используется метод наименьших квадратов.
Суть метода наименьших квадратов заключается в следующем.
Предполагается, что зависимость между величинами является линейной:
y i = a ⋅ xi + b и сумма квадратов отклонений расчетных значений от
экспериментальных - должна быть минимальной.
Расчетное значение запишем в следующем виде:
y pi = a ⋅ xi + b
(2)
Сумму квадратов отклонений расчетных значений от экспериментальных
запишем в виде:
2
S = ∑ ( y i − y pi ) → min
n
i =1
(3)
В выражение (3) подставим уравнение регрессии (2) и получим:
n
2
S = ∑ ( yi − a ⋅ xi − b ) → min
i =1
(4)
Известно, что экстремум функции достигается тогда, когда первая
производная равна нулю. В нашем случае имеются два неизвестных: a и
b .По данным коэффициентам возьмем две частные производные:
6
n
⎧ ∂S
( yi − a ⋅ xi − b ) ⋅ (− xi ) = 0
2
=
⋅
∑
⎪ ∂a
⎪
i =1
⎨
n
⎪ ∂S = 2 ⋅ ( y − a ⋅ x − b ) ⋅ (− 1) = 0
∑
i
i
⎪⎩ ∂b
i =1
(5)
Разделим оба уравнение системы (5) на -2. В результате, раскрыв скобки
получим систему из двух линейных уравнений с двумя неизвестными a и
b (6):
n
n
⎧n
⎧n
2
2
(
)
0
(
)
(
)
(b ⋅ xi ) = 0
⋅
−
⋅
−
⋅
=
⋅
−
⋅
−
x
y
a
x
b
x
x
y
a
x
∑
∑
∑
∑
i
i
i
i
i
i
i
⎪
⎪
⎪ i =1
⎪ i =1
i =1
i =1
;⎨n
⎨n
n
n
⎪ ( y − a ⋅ x − b) = 0
⎪ y − (a ⋅ x ) − b = 0
∑
∑
i
i
i
i
⎪⎩∑
⎪⎩∑
i =1
i =1
i =1
i =1
n
n
⎧ n 2
⋅
+
⋅
=
( xi ⋅ y i )
a
x
b
x
∑
∑
∑
i
i
⎪
⎪ i =1
i =1
i =1
⎨ n
n
⎪a ⋅ x + b ⋅ n =
yi
∑
i
⎪⎩ ∑
i =1
i =1
(6)
Данная система может быть решена с помощью метода Крамера. Главный
определитель системы Δ равен:
n
Δ=
n
∑x ∑x
2
i
i =1
n
∑x
i =1
i =1
i
n
i
⎛ n ⎞
= n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
2
i
Коэффициенты при неизвестном a и b заменяем столбцом свободных членов,
получаем определители:
Δa =
n
n
i =1
i =1
∑ ( xi ⋅ y i ) ∑ xi
n
∑y
i =1
n
Δb =
∑ xi2
i =1
n
∑x
i =1
i
n
i
n
∑ (x
i =1
i
⋅ yi )
n
∑y
i =1
i
n
n
n
i =1
i =1
i =1
= n ⋅ ∑ ( xi ⋅ y i ) − ∑ x i ⋅ ∑ y i и
n
n
n
n
i =1
i =1
i =1
i =1
= ∑ xi2 ⋅ ∑ y i − ∑ xi ⋅ ∑ ( xi ⋅ y i )
Вычисляем коэффициенты по правилу Крамера:
7
n
n
n
⎧
n ⋅ ∑ ( xi ⋅ yi ) − ∑ xi ⋅ ∑ yi
⎪
Δ
i =1
i =1
i =1
⎪a = a =
2
n
n
Δ
⎪
⎛
⎞
2
n ⋅ ∑ xi − ⎜ ∑ xi ⎟
⎪
i =1
⎪
⎝ i =1 ⎠
⎨
n
n
n
n
2
⎪
⋅
−
⋅
x
y
x
∑
i ∑ i
i ∑ ( xi ⋅ yi )
⎪
Δb ∑
i =1
i =1
i =1
i =1
=
⎪b =
2
n
n
Δ
⎛
⎞
2
⎪
n ⋅ ∑ xi − ⎜ ∑ xi ⎟
⎪⎩
i =1
⎝ i =1 ⎠
(7)
Таким образом, получены коэффициенты уравнения регрессии y pi = a ⋅ xi + b .
Уравнение регрессии (2) может адекватно описывать процесс только в
интервале экспериментальных значений, с помощью которых вычислялись
коэффициенты уравнения регрессии:
min( xэi ,i =1..n ) ≤ xi ≤ max( xэi ,i =1..n ) .
Для оценки адекватности модели, на практике могут быть использованы
следующие оценки: корреляционное отношение η и средняя относительная
ошибка ε :
∑ (y
n
η = 1−
i =1
n
∑ (y
i =1
− y рi )
2
эi
эi
−y
)
2
,
(8)
1 n
где y = ⋅ ∑ y эi - среднее значение выходного параметра.
n i =1
y эi − y рi
100
ε=
∑
n
y эi
(9)
В настоящее время существует ряд нелинейных зависимостей, которые могут
быть приведены к линейному виду yi = a ⋅ xi + b . Операция приведения
нелинейной зависимости к линейному виду называется линеаризацией.
Например, зависимость константы скорости химической реакции от
температуры описывается уравнением Аррениуса:
ki = k 0 ⋅ e
−E
R⋅Ti
, i = 1..n
(10)
Приведем нелинейное уравнение (10) к линейному виду. Прологарифмируем
обе части уравнения:
ln(k i ) = ln(k 0) −
Проведем
E
.
R ⋅ Ti
замену
переменных:
y i = ln(k i ), b = ln(k 0), a = −
E
1
, xi = ,
R
Ti
в
результате получим уравнение y i = b + a ⋅ xi или yi = a ⋅ xi + b .
Таким образом, для того, чтобы найти предэкспоненциальный множитель k 0
и энергию активации E , необходимо проделать следующие действия:
8
1. y i = ln(k i ), xi =
n
2. a =
1
Ti
n
n
n ⋅ ∑ ( xi ⋅ y i ) − ∑ xi ⋅ ∑ y i
, b=
⎛ n ⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
b
3. k 0 = e , E = −a ⋅ R, R = 8.315
i =1
i =1
n
4. k pi = k 0 ⋅ e
2
i
−E
R⋅Ti
i =1
2
n
n
n
n
∑ x ⋅ ∑ y − ∑ x ⋅ ∑ (x
i =1
2
i
i
i =1
i =1
i
i =1
⎛ n ⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
2
i
⋅ yi )
9
ПОСТАНОВКА ЗАДАЧИ
Зависимость константы скорости химической реакции от температуры
описывается уравнением Аррениуса:
ki = k0 ⋅ e
−
E
R ⋅Ti
,
(11)
где k i − константа скорости химической реакции,
k 0 − предэкспоненциальный множитель,
R = 8.315 − универсальная газовая постоянная,
E − энергия активации,
Ti − температура, K.
По экспериментальным данным, используя метод наименьших
квадратов, требуется определить значения предэкспоненциального
множителя k 0 и энергию активации E . Экспериментальные данные
представлены в таблице 1.
Таблица - 1. Данные эксперимента
0
№
tC
k
п.п.
1
200
10.3
2
220
14.6
3
240
18.1
4
260
25.2
5
280
31.0
6
300
38.8
7
320
50.6
Для линейной зависимости вида
импирических коэффициентов a и b :
n
a=
n
n
i =1
i =1
2
n ⋅ ∑ ( xi ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
⎛
⎞
n ⋅ ∑ xi2 − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
n
, b=
n
n
i =1
i =1
y = a ⋅ x + b известны выражения для
n
n
∑ xi2 ⋅ ∑ yi − ∑ xi ⋅ ∑ (xi ⋅ yi )
i =1
i =1
⎛
⎞
n ⋅ ∑ xi2 − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
n
−
2
.
E
R ⋅Ti
В нашем случае, выражение k i = k 0 ⋅ e
является нелинейным, но с
помощью линеаризации может быть приведено к линейному виду y = a ⋅ x + b .
Прологарифмируем выражение (11) по натуральному логарифму:
E
−
⎞
⎛
R⋅Ti ⎟
⎜
ln ki = ln k0 ⋅ e
⎟
⎜
⎠
⎝
(12)
10
Используя
свойства
ln(a ⋅ b) = ln a + ln b ,
логарифма:
ln e = 1 ,
ln a b = b ⋅ ln a , получим:
ln k i = ln k 0 + ln e
ln( k i ) = ln(k 0) −
−
E
R⋅Ti
(13)
E
R ⋅ Ti
(14)
Проведем замену переменных:
E
1
, xi = ,
R
Ti
в результате получим уравнение y i = b + a ⋅ xi или yi = a ⋅ xi + b .
y i = ln(k i ), b = ln(k 0), a = −
Таким образом, для того, чтобы найти предэкспоненциальный множитель k 0
и энергию активации E , необходимо проделать следующие действия:
1
1. Вычислить значения y i = ln(k i ), xi = .
Ti
2. Произвести вычисления коэффициентов:
n
a=
n
n
i =1
i =1
2
n ⋅ ∑ ( xi ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
⎛
⎞
n ⋅ ∑ xi2 − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
n
, b=
n
n
i =1
i =1
n
n
∑ xi2 ⋅ ∑ yi − ∑ xi ⋅ ∑ (xi ⋅ yi )
i =1
i =1
⎛
⎞
n ⋅ ∑ xi2 − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
n
3. Произвести расчет коэффициентов: k 0 = e ,
4. Определить расчетные значения k pi = k 0 ⋅ e
.
E = − a ⋅ R, R = 8.315
b
−E
R⋅Ti
2
.
11
РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
СОЗДАНИЕ ГЛАВНОГО МЕНЮ ПРОГРАММЫ
При разработке пользовательского интерфейса, на форму поместим
пользовательское меню. Для помещения пользовательского меню на форму
необходимо проделать следующие действия.
1. В панели элементов управления выбрать пункт MenuStrip и поместить его
на форму, как показано на рисунке 5.
Рисунок 5 – Создание пользовательского меню.
2. Навести курсор мышки в нижней части формы на надпись MenuStrip1 и
нажать правую кнопку мышки. В появившемся окне (см. рисунок 6)
необходимо выбрать пункт Втавить стандартные элементы.
Рисунок 6 – Вставка элементов стандартного пользовательского меню.
12
В результате в верхней части формы появятся стандартные пункты меню,
изображенные на рисунке 7.
а) Пункты меню Файл
б) Пункты меню Правка
в) Пункту меню Сервис
г) Пункты меню Справка
Рисунок 7 – Пункты стандартного меню.
Все многообразие пунктов стандартного пользовательского меню нам не
нужно, а следовательно, необходимо удалить не интересующие нас пункты.
3. Для удаления «лишних», с нашей точки зрения, пунктов меню необходимо
проделать следующие действия.
Навести курсор мышки в нижней части формы на надпись MenuStrip1 и
нажать правую кнопку мышки. В появившемся окне (см. рисунок 8)
необходимо выбрать пункт Правка элементов…, после чего на экране
появится окно редактора коллекции элементов, изображенное на рисунке 9.
Рисунок 8 – Выбор пункта Правка элементов… .
13
Рисунок 9- Окно редактора коллекции элементов.
В окне редактора коллекции элементов удаляем элементы, соответствующие
пунктам меню Правка и Справка (см рисунок 10.)
Рисунок 10 – Удаление элементов, соответствующих пунктам меню
Правка и Справка.
14
4. Для удобства работы с объектами пунктов меню, производим один щелчок
левой кнопки мышки в левом окне по пункту Файл ToolStripMenuItem и
изменяем имя объекта (свойство Name в правом окне) на более короткое
mnuFile (см. рисунок 11).
Рисунок 11 – Изменение имени объекта пункта меню.
5. В правом окне редактора коллекции элементов выбираем свойство
DropDownItems, а в значении (Коллекция) нажимаем на кнопку
(см.
рисунок 12).
Рисунок 12 – Настройка свойства DropDownItems.
15
В появившемся окне удаляем элементы, соответствующие пунктам меню
Создать ToolStripMenuItem, Сохранить ToolStripMenuItem,
Печать
ToolStripMenuItem, Предварительный просмотр ToolStripMenuItem,
ToolStripSeparator и ToolStripSeparator1, как показано на рисунке 13
Рисунок 13 – Удаление элементов, соответствующих выпадающим
пунктам меню.
Рисунок 14 –Оставшиеся пункты подменю Файл.
16
В результате в подменю останутся пункты, соответствующие пунктам
Открыть, Сохранить как…, разделительная линия и Выход (см. рисунок
14).
Рисунок 15 - Изменение свойства Name для пункта меню Открыть.
Аналогичным образом устанавливаем имена для пунктов меню Сохранить
как… (mnuSaveAs) и Выход (mnuExit). Результат должен быть похож на
рисунок 16.
Рисунок 16 – Оставшиеся подпункты меню Файл.
Таким образом, мы сформировали пункт меню Файл и его подпункты.
17
6. Теперь необходимо внести коррективы в пункт меню Сервис. Свойство
Name для данного пункта меню заменим на mnuSolution, а свойство Text на
Решение. (см. рисунки 17 и 18).
Рисунок 17 - Изменение свойства Name.
Рисунок 18 - Изменение свойства Text.
Нажимаем кнопку в свойстве DropDownItems (см. рисунок 19) и переходим
в окно для редактирования подпунктов меню Решение, изображенное на
рисунке 20.
18
Рисунок 19 - Нажатие на кнопку в свойстве DropDownItems.
Рисунок 20 - Окно редактирования подпунктов меню Решение.
Изменяем свойства подпунктов меню решения согласно таблице 2.
19
Таблица 2 - Свойства подпунктов меню Решение.
Подпункт меню
Свойство
Значение
Настройки ToolStripMenuItem
Name
mnuComputation
Text
Вычисления
Параметры ToolStripMenuItem
Name
mnuGraph
Text
Построение графика
В результате главное меню разрабатываемой программы будет выглядеть как
показано на рисунке 21.
а) Подпункты меню Файл
б) Подпункты меню Решение
Рисунок 21 - Изображение главного меню разрабатываемой программы.
ПОМЕЩЕНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ НА ФОРМУ
Поместим на форме элемент управления TabControl. Данный элемент
управления содержит так называемые вкладки (закладки), или страничные
формы (см. рисунок 22).
Рисунок 22 - Страничные формы (вкладки).
20
Наведем курсор мышки на надпись TabPage2 и нажмем на правую кнопку
мыши для вызова контекстного меню. В появившемся контекстном меню
нажмем левой кнопкой мышки на пункте Добавить вкладку (см. рисунок
23). В результате, на форме появятся три вкладки, как показано на рисунке
24. С помощью наведения курсора и нажатия левой кнопки мышки можно
перемещаться по вкладкам. Переименуем заголовки вкладок, используя
Рисунок 23 - Выбираем пункт Добавить вкладку.
21
Рисунок 24 - На форме появилась третья вкладка.
Редактор коллекции TabPage. Для вызова Редактора коллекции TabPage
необходимо проделать следующие действия: переключиться на одну из
вкладок и в окне Свойств, выбрав свойство TabPages (Коллекция) нажать
на кнопку, как показано на рисунке 25. Окно Редактора коллекции TabPage
изображено на рисунке 26.
Рисунок 25 - Вызов окна Редактора коллекции TabPage.
22
Рисунок 26 - Окно Редактора коллекции TabPage.
Окно Редактора коллекции TabPage разделено на две части. В левой части
окна расположены члены коллекции TabPage1, TabPage2 и TabPage3, а в
правой части окна находятся их свойства. Для каждого члена коллекции
изменим свойство текст на Исходные данные, Результаты расчета и
Построение графика (см. рисунок 27). В результате, вкладки должны
выглядеть как на рисунке 28.
Рисунок 27 - Изменение свойства Text для третьей вкладки.
23
Рисунок 28 - Заголовки вкладок.
На вкладки Исходные данные и Результаты расчетов поместим элементы
DataGridView1 и DataGridView2, а на вкладку Построение графика
элемент управления Chart1 (см. рисунки 29-30).
Рисунок 29 - Помещение на вкладку элемента DataGridView.
24
Рисунок 30 - Помещение на вкладку элемента Chart.
На вкладку Результаты расчетов помещаем элементы управления,
указанные в таблице 3.
Таблица 3 - Элементы управления, помещаемые
на вкладку Результаты расчетов
Объект
Свойство
Значеие
Метка
Name
Label1
Text
A
Метка
Name
Label2
Text
B
Метка
Name
Label3
Text
K0
Метка
Name
Label4
Text
E
Текстовое окно
Name
TextBox1
Text
Пустая срока
Текстовое окно
Name
TextBox2
Text
Пустая срока
Текстовое окно
Name
TextBox3
Text
Пустая срока
Текстовое окно
Name
TextBox4
Text
Пустая срока
На форму, под вкладками, помещаем командные кнопки согласно таблице 4
25
Таблица 4 - Командные кнопки, помещаемые на форму.
Объект
Свойство
Значеие
Командная кнопка
Name
Button1
Text
Ввод
Командная кнопка
Name
Button2
Text
Вычисление
Командная кнопка
Name
Button3
Text
Построение графика
Командная кнопка
Name
Button4
Text
Сохранить результаты
Командная кнопка
Name
Button5
Text
Выход
В результате, если выбрать вкладку Результаты расчетов, то изображение
формы разрабатываемого приложения должно быть похоже на
представленное на рисунке 31.
Рисунок 31 - Изображение формы разрабатываемого приложения.
26
Для возможности ввода данных из файла и вывода данных в файл, на форму
необходимо поместить еще два элемента управления: OpenFileDialog1 и
SaveFileDialog1 (см. рисунок 32).
Рисунок 32 – Помещение на форму элементов управления для работы с
файлами
Таким образом, этап визуального проектирования закончен. Теперь
необходимо перейти к написанию программного кода.
НАПИСАНИЕ ПРОГРАММНОГО КОДА ПРИЛОЖЕНИЯ
В данной программе ввод данных будем производить двумя способами: из
файла (при выборе пункта меню Файл►Открыть…) и с помощью функции
InputBox() (при нажатии на кнопке Ввод. При любом из способов ввода,
исходные данные будут записаны в таблицу, расположенную на вкладке
Исходные данные.
Число элементов одномерных массивов N и сами массивы t(), k() и kr()
описываются как контейнерные переменные, и область их видимости будет
распространяться на все процедуры и функции, принадлежащие форме
Form1. Все массивы будут объявлены как динамические.
Заготовки процедур приведены ниже:
Public Class Form1
Dim N As Integer, t() As Single, k() As Single, kr() As Single
Private Sub mnuExit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuExit.Click
27
End
End Sub
Private Sub mnuSaveAs_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuSaveAs.Click
End Sub
Private Sub mnuOpen_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuOpen.Click
End Sub
Private Sub mnuComputation_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles mnuComputation.Click
End Sub
Private Sub mnuGraph_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuGraph.Click
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
End Sub
28
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
End
End Sub
End Class
В программном коде, после строчки
Dim N As Integer, t() As Single, k() As Single, kr() As Single
Вставляем процедуру
общего вида, которая вычисляет коэффициенты
уравнения y pi = a ⋅ xi + b .
Sub MNK(ByRef N As Integer, ByRef x() As Single, ByRef y() As Single, ByRef
a As Single, ByRef b As Single)
Dim i As Integer
Dim s1, s2, s3, s4 As Single
s1 = 0 : s2 = 0 : s3 = 0 : s4 = 0
For i = 0 To N - 1
s1 = s1 + x(i)
s2 = s2 + x(i) * x(i)
s3 = s3 + x(i) * y(i)
s4 = s4 + y(i)
Next i
a = (N * s3 - s1 * s4) / (N * s2 - s1 * s1)
b = (s2 * s4 - s1 * s3) / (N * s2 - s1 * s1)
End Sub
Пишем процедуру обработки события, происходящего при нажатии
пользователем на кнопку Ввод:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim dt As New DataTable
N = CInt(InputBox("Введите число опытов N="))
ReDim t(0 To N - 1), k(0 To N - 1)
DataGridView1.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
For i = 0 To N - 1
t(i) = CSng(InputBox("t(" + CStr(i) + ")="))
k(i) = CSng(InputBox("k(" + CStr(i) + ")="))
dt.Rows.Add(New String() {t(i), k(i)})
29
Next i
End Sub
Напишем процедуру обработки события, когда пользователь выбирает пункт
меню Файл►Открыть…. Исходные данные с помощью стандартной
программы Блокнот поместим в текстовый файл с именем input.txt. Данный
файл имеет следующую структуру: в первой строке записано число
проведенных опытов, вторая строка содержит значения t, разделенные между
собой пробелами, а третья строка – значения k также, разделенные между
собой пробелами (см рисунок 33).
Рисунок 33 – Структура файла input.txt.
Программный код будет иметь вид:
Private Sub mnuOpen_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuOpen.Click
Dim i, dlin, j As Integer
Dim dt As New DataTable
Dim stroka, stroka2, simv, filename1 As String
Dim file1 As Object
OpenFileDialog1.ShowDialog()
filename1 = OpenFileDialog1.FileName
file1 = New System.IO.StreamReader(filename1)
stroka = file1.ReadLine()
N = CInt(stroka)
ReDim t(0 To N - 1), k(0 To N - 1)
stroka = file1.ReadLine()
dlin = Len(stroka)
j=0
stroka2 = ""
For i = 1 To dlin
simv = Mid(stroka, i, 1)
If simv <> " " Then
stroka2 = stroka2 + simv
Else
t(j) = CSng(stroka2)
30
stroka2 = ""
j=j+1
End If
Next i
t(j) = CSng(stroka2)
stroka = file1.ReadLine()
dlin = Len(stroka)
j=0
stroka2 = ""
For i = 1 To dlin
simv = Mid(stroka, i, 1)
If simv <> " " Then
stroka2 = stroka2 + simv
Else
k(j) = CSng(stroka2)
stroka2 = ""
j=j+1
End If
Next i
k(j) = CSng(stroka2)
DataGridView1.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
For i = 0 To N - 1
dt.Rows.Add(New String() {t(i), k(i)})
Next i
file1.Close()
End Sub
Теперь
напишем
программный
код
для
пункта
меню
Решение►Вычисления и кнопки Вычисление. Программный код для
обработки событий для данных объектов будет одинаков, за исключением
описания заголовков:
Private Sub mnuComputation_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuComputation.Click
Dim i As Integer, a As Single, b As Single, k0 As Single, E1 As Single
Dim x(), y() As Single
Dim dt As New DataTable
ReDim x(0 To N - 1), y(0 To N - 1), kr(0 To N - 1)
For i = 0 To N - 1
x(i) = 1 / (t(i) + 273)
y(i) = Math.Log(k(i))
Next i
31
Call MNK(N, x, y, a, b)
TextBox1.Text = CStr(a)
TextBox2.Text = CStr(b)
k0 = Math.Exp(b)
E1 = -a * R
TextBox3.Text = CStr(k0)
TextBox4.Text = CStr(E1)
For i = 0 To N - 1
kr(i) = k0 * Math.Exp(-E1 / ((t(i) + 273) * R))
Next i
DataGridView2.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
dt.Columns.Add(New DataColumn("kr", GetType(String)))
For i = 0 To N - 1
dt.Rows.Add(New String() {t(i), k(i), kr(i)})
Next i
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim i As Integer, a As Single, b As Single, k0 As Single, E1 As Single
Dim x(), y() As Single
Dim dt As New DataTable
ReDim x(0 To N - 1), y(0 To N - 1), kr(0 To N - 1)
For i = 0 To N - 1
x(i) = 1 / (t(i) + 273)
y(i) = Math.Log(k(i))
Next i
Call MNK(N, x, y, a, b)
TextBox1.Text = CStr(a)
TextBox2.Text = CStr(b)
k0 = Math.Exp(b)
E1 = -a * R
TextBox3.Text = CStr(k0)
TextBox4.Text = CStr(E1)
For i = 0 To N - 1
kr(i) = k0 * Math.Exp(-E1 / ((t(i) + 273) * R))
Next i
DataGridView2.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
dt.Columns.Add(New DataColumn("kr", GetType(String)))
For i = 0 To N - 1
32
dt.Rows.Add(New String() {t(i), k(i), kr(i)})
Next i
End Sub
Переходим к построению графиков. Построение графиков осуществляется
любо нажатием на кнопке Построение графика, либо при выборе пунктов
меню Решение►Построение графика. Программный код представлен
ниже:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Dim i As Integer
Chart1.Series.Clear()
Chart1.Series.Add("k(t)")
Chart1.Series.Add("kr(t)")
Chart1.ChartAreas("ChartArea1").AxisX.Title = "t"
Chart1.ChartAreas("ChartArea1").AxisY.Title = "k(t), kr(t) "
Chart1.Series("kr(t)").ChartType =
DataVisualization.Charting.SeriesChartType.Spline
Chart1.Series("k(t)").ChartType =
DataVisualization.Charting.SeriesChartType.FastPoint
Chart1.Series("k(t)").Color = Color.Red
Chart1.Series("kr(t)").Color = Color.Blue
Chart1.Series("k(t)").BorderWidth = 3
Chart1.Series("kr(t)").BorderWidth = 2
For i = 0 To N - 1
Chart1.Series("k(t)").Points.AddXY(t(i), k(i))
Chart1.Series("kr(t)").Points.AddXY(t(i), kr(i))
Next i
End Sub
Private Sub mnuGraph_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuGraph.Click
Dim i As Integer
Chart1.Series.Clear()
Chart1.Series.Add("k(t)")
Chart1.Series.Add("kr(t)")
Chart1.ChartAreas("ChartArea1").AxisX.Title = "t"
Chart1.ChartAreas("ChartArea1").AxisY.Title = "k(t), kr(t) "
Chart1.Series("kr(t)").ChartType =
DataVisualization.Charting.SeriesChartType.Spline
Chart1.Series("k(t)").ChartType =
DataVisualization.Charting.SeriesChartType.FastPoint
33
Chart1.Series("k(t)").Color = Color.Red
Chart1.Series("kr(t)").Color = Color.Blue
Chart1.Series("k(t)").BorderWidth = 3
Chart1.Series("kr(t)").BorderWidth = 2
For i = 0 To N - 1
Chart1.Series("k(t)").Points.AddXY(t(i), k(i))
Chart1.Series("kr(t)").Points.AddXY(t(i), kr(i))
Next i
End Sub
Теперь напишем программный код для кнопки Сохранить результаты и для
пункта меню Файл►Сохранить как….
Private Sub mnuGraph_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuGraph.Click
Dim i As Integer
Chart1.Series.Clear()
Chart1.Series.Add("k(t)")
Chart1.Series.Add("kr(t)")
Chart1.ChartAreas("ChartArea1").AxisX.Title = "t"
Chart1.ChartAreas("ChartArea1").AxisY.Title = "k(t), kr(t) "
Chart1.Series("kr(t)").ChartType =
DataVisualization.Charting.SeriesChartType.Spline
Chart1.Series("k(t)").ChartType =
DataVisualization.Charting.SeriesChartType.FastPoint
Chart1.Series("k(t)").Color = Color.Red
Chart1.Series("kr(t)").Color = Color.Blue
Chart1.Series("k(t)").BorderWidth = 3
Chart1.Series("kr(t)").BorderWidth = 2
For i = 0 To N - 1
Chart1.Series("k(t)").Points.AddXY(t(i), k(i))
Chart1.Series("kr(t)").Points.AddXY(t(i), kr(i))
Next i
End Sub
Private Sub mnuSaveAs_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuSaveAs.Click
Dim file1 As Object
Dim i As Integer, filename1 As String, stroka As String
SaveFileDialog1.ShowDialog()
filename1 = SaveFileDialog1.FileName
file1 = New System.IO.StreamWriter(filename1)
stroka = "Количество опытов N=" + CStr(N)
file1.WriteLine(stroka)
34
stroka = "Коэффициент A=" + TextBox1.Text
file1.WriteLine(stroka)
stroka = "Коэффициент B=" + TextBox2.Text
file1.WriteLine(stroka)
stroka = "Предэкспоненциальный множитель k0=" + TextBox3.Text
file1.WriteLine(stroka)
stroka = "Энергия активации E=" + TextBox4.Text
file1.WriteLine(stroka)
stroka = "№ t
k
kr"
file1.WriteLine(stroka)
For i = 0 To N - 1
stroka = CStr(i + 1) + " " + CStr(t(i)) + " " + CStr(k(i)) + " " +
CStr(kr(i))
file1.WriteLine(stroka)
Next i
file1.Close()
End Sub
В результате весь программный код будет иметь следующий вид:
Public Class Form1
Const R = 8.315
Dim N As Integer, t() As Single, k() As Single, kr() As Single
Sub MNK(ByRef N As Integer, ByRef x() As Single, ByRef y() As Single,
ByRef a As Single, ByRef b As Single)
Dim i As Integer
Dim s1, s2, s3, s4 As Single
s1 = 0 : s2 = 0 : s3 = 0 : s4 = 0
For i = 0 To N - 1
s1 = s1 + x(i)
s2 = s2 + x(i) * x(i)
s3 = s3 + x(i) * y(i)
s4 = s4 + y(i)
Next i
a = (N * s3 - s1 * s4) / (N * s2 - s1 * s1)
b = (s2 * s4 - s1 * s3) / (N * s2 - s1 * s1)
End Sub
Private Sub mnuExit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuExit.Click
End
End Sub
35
Private Sub mnuSaveAs_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuSaveAs.Click
Dim file1 As Object
Dim i As Integer, filename1 As String, stroka As String
SaveFileDialog1.ShowDialog()
filename1 = SaveFileDialog1.FileName
file1 = New System.IO.StreamWriter(filename1)
stroka = "Количество опытов N=" + CStr(N)
file1.WriteLine(stroka)
stroka = "Коэффициент A=" + TextBox1.Text
file1.WriteLine(stroka)
stroka = "Коэффициент B=" + TextBox2.Text
file1.WriteLine(stroka)
stroka = "Предэкспоненциальный множитель k0=" + TextBox3.Text
file1.WriteLine(stroka)
stroka = "Энергия активации E=" + TextBox4.Text
file1.WriteLine(stroka)
stroka = "№ t
k
kr"
file1.WriteLine(stroka)
For i = 0 To N - 1
stroka = CStr(i + 1) + " " + CStr(t(i)) + " " + CStr(k(i)) + " " +
CStr(kr(i))
file1.WriteLine(stroka)
Next i
file1.Close()
End Sub
Private Sub mnuOpen_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuOpen.Click
Dim i, dlin, j As Integer
Dim dt As New DataTable
Dim stroka, stroka2, simv, filename1 As String
Dim file1 As Object
OpenFileDialog1.ShowDialog()
filename1 = OpenFileDialog1.FileName
file1 = New System.IO.StreamReader(filename1)
stroka = file1.ReadLine()
N = CInt(stroka)
ReDim t(0 To N - 1), k(0 To N - 1)
stroka = file1.ReadLine()
dlin = Len(stroka)
j=0
stroka2 = ""
For i = 1 To dlin
36
simv = Mid(stroka, i, 1)
If simv <> " " Then
stroka2 = stroka2 + simv
Else
t(j) = CSng(stroka2)
stroka2 = ""
j=j+1
End If
Next i
t(j) = CSng(stroka2)
stroka = file1.ReadLine()
dlin = Len(stroka)
j=0
stroka2 = ""
For i = 1 To dlin
simv = Mid(stroka, i, 1)
If simv <> " " Then
stroka2 = stroka2 + simv
Else
k(j) = CSng(stroka2)
stroka2 = ""
j=j+1
End If
Next i
k(j) = CSng(stroka2)
DataGridView1.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
For i = 0 To N - 1
dt.Rows.Add(New String() {t(i), k(i)})
Next i
file1.Close()
End Sub
Private Sub mnuComputation_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles mnuComputation.Click
Dim i As Integer, a As Single, b As Single, k0 As Single, E1 As Single
Dim x(), y() As Single
Dim dt As New DataTable
ReDim x(0 To N - 1), y(0 To N - 1), kr(0 To N - 1)
For i = 0 To N - 1
x(i) = 1 / (t(i) + 273)
y(i) = Math.Log(k(i))
Next i
37
Call MNK(N, x, y, a, b)
TextBox1.Text = CStr(a)
TextBox2.Text = CStr(b)
k0 = Math.Exp(b)
E1 = -a * R
TextBox3.Text = CStr(k0)
TextBox4.Text = CStr(E1)
For i = 0 To N - 1
kr(i) = k0 * Math.Exp(-E1 / ((t(i) + 273) * R))
Next i
DataGridView2.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
dt.Columns.Add(New DataColumn("kr", GetType(String)))
For i = 0 To N - 1
dt.Rows.Add(New String() {t(i), k(i), kr(i)})
Next i
End Sub
Private Sub mnuGraph_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuGraph.Click
Dim i As Integer
Chart1.Series.Clear()
Chart1.Series.Add("k(t)")
Chart1.Series.Add("kr(t)")
Chart1.ChartAreas("ChartArea1").AxisX.Title = "t"
Chart1.ChartAreas("ChartArea1").AxisY.Title = "k(t), kr(t) "
Chart1.Series("kr(t)").ChartType =
DataVisualization.Charting.SeriesChartType.Spline
Chart1.Series("k(t)").ChartType =
DataVisualization.Charting.SeriesChartType.FastPoint
Chart1.Series("k(t)").Color = Color.Red
Chart1.Series("kr(t)").Color = Color.Blue
Chart1.Series("k(t)").BorderWidth = 3
Chart1.Series("kr(t)").BorderWidth = 2
For i = 0 To N - 1
Chart1.Series("k(t)").Points.AddXY(t(i), k(i))
Chart1.Series("kr(t)").Points.AddXY(t(i), kr(i))
Next i
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim i As Integer
38
Dim dt As New DataTable
N = CInt(InputBox("Введите число опытов N="))
ReDim t(0 To N - 1), k(0 To N - 1)
DataGridView1.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
For i = 0 To N - 1
t(i) = CSng(InputBox("t(" + CStr(i) + ")="))
k(i) = CSng(InputBox("k(" + CStr(i) + ")="))
dt.Rows.Add(New String() {t(i), k(i)})
Next i
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim i As Integer, a As Single, b As Single, k0 As Single, E1 As Single
Dim x(), y() As Single
Dim dt As New DataTable
ReDim x(0 To N - 1), y(0 To N - 1), kr(0 To N - 1)
For i = 0 To N - 1
x(i) = 1 / (t(i) + 273)
y(i) = Math.Log(k(i))
Next i
Call MNK(N, x, y, a, b)
TextBox1.Text = CStr(a)
TextBox2.Text = CStr(b)
k0 = Math.Exp(b)
E1 = -a * R
TextBox3.Text = CStr(k0)
TextBox4.Text = CStr(E1)
For i = 0 To N - 1
kr(i) = k0 * Math.Exp(-E1 / ((t(i) + 273) * R))
Next i
DataGridView2.DataSource = dt
dt.Columns.Add(New DataColumn("t", GetType(String)))
dt.Columns.Add(New DataColumn("k", GetType(String)))
dt.Columns.Add(New DataColumn("kr", GetType(String)))
For i = 0 To N - 1
dt.Rows.Add(New String() {t(i), k(i), kr(i)})
Next i
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
39
Dim i As Integer
Chart1.Series.Clear()
Chart1.Series.Add("k(t)")
Chart1.Series.Add("kr(t)")
Chart1.ChartAreas("ChartArea1").AxisX.Title = "t"
Chart1.ChartAreas("ChartArea1").AxisY.Title = "k(t), kr(t) "
Chart1.Series("kr(t)").ChartType =
DataVisualization.Charting.SeriesChartType.Spline
Chart1.Series("k(t)").ChartType =
DataVisualization.Charting.SeriesChartType.FastPoint
Chart1.Series("k(t)").Color = Color.Red
Chart1.Series("kr(t)").Color = Color.Blue
Chart1.Series("k(t)").BorderWidth = 3
Chart1.Series("kr(t)").BorderWidth = 2
For i = 0 To N - 1
Chart1.Series("k(t)").Points.AddXY(t(i), k(i))
Chart1.Series("kr(t)").Points.AddXY(t(i), kr(i))
Next i
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
Dim file1 As Object
Dim i As Integer, filename1 As String, stroka As String
SaveFileDialog1.ShowDialog()
filename1 = SaveFileDialog1.FileName
file1 = New System.IO.StreamWriter(filename1)
stroka = "Количество опытов N=" + CStr(N)
file1.WriteLine(stroka)
stroka = "Коэффициент A=" + TextBox1.Text
file1.WriteLine(stroka)
stroka = "Коэффициент B=" + TextBox2.Text
file1.WriteLine(stroka)
stroka = "Предэкспоненциальный множитель k0=" + TextBox3.Text
file1.WriteLine(stroka)
stroka = "Энергия активации E=" + TextBox4.Text
file1.WriteLine(stroka)
stroka = "№ t
k
kr"
file1.WriteLine(stroka)
For i = 0 To N - 1
stroka = CStr(i + 1) + " " + CStr(t(i)) + " " + CStr(k(i)) + " " +
CStr(kr(i))
file1.WriteLine(stroka)
Next i
40
file1.Close()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
End
End Sub
End Class
41
ПРИМЕРЫ БЛОК-СХЕМ АЛГОРИТМОВ
Блок-схема программы ввода-вывода исходных данных
42
Блок-схема процедуры вычисления коэффициентов уравнения
регрессии методом наименьших квадратов.
43
РЕЗУЛЬТАТЫ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Результаты выполнения программы представлены ниже:
Рисунок 34 – Ввод исходных данных из файла.
44
Рисунок 35 - Диалоговое окно для выбора открываемого файла.
Рисунок 36 – Исходные данные введены в память компьютера и
выведены в таблицу
45
Рисунок 37 – Результаты расчета.
Рисунок 38 – Результаты построения графика
Рисунок 39 – Результаты программы записаны в файл сохраненный в
формате программы Блокнот.
46
ВАРИАНТЫ ЗАДАНИЙ НА КУРСОВУЮ РАБОТУ
Вариант № 1
При изучении процесса сорбции
равновесные величины при T=293 K
были
получены
следующие
Равновесная система вода - уголь
Содержание бензола в газе С, м2/см3
Содержание бензола в угле a ,
ммоль/г
0,00588
3,78
0,015
5,49
0,079
6,5
0,042
7,1
0,052
7,5
0,066
7,7
Известно, что содержание адсорбируемого вещества в твердой фазе a и
газовой фазе C связаны соотношением:
⎡ B ⋅T 2
a pi = a max ⋅ exp ⎢−
2
⎢⎣ β
⎛ Cs
⎜⎜ lg
⎝ Ci
⎞
⎟⎟
⎠
2
⎤
⎥ , где
⎥⎦
β = 2,73; C s = 17,12
Определить предельное содержание в твердой фазе a max и размер микропор
B .
По заданной экспериментальной выборке:
- найти значения коэффициентов регрессии a max и B , используя метод
наименьших квадратов
- найти расчетные значения функции a pi (C )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций ai (C ) и a pi (C )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ (ai − a pi ) → min
n
i =1
2
47
Вариант № 2
Известны экспериментальные значения,
распределение частиц из ядерной реакции:
определяющие
угловое
f (ϖ ) = A + B ⋅ cos 2 ϖ
2
№
Угол ϖ (ср) , градус
f (ϖ ) , м /c
1
0
50,64
2
20
47,87
3
40
42,15
4
60
36,73
5
80
35,40
6
100
37,13
7
120
36,15
8
140
39,71
9
160
46,18
10
180
49,84
Определить наиболее вероятностные значения A и B .
По заданной экспериментальной выборке:
- найти значения коэффициентов регрессии A и B , используя метод
наименьших квадратов
- найти расчетные значения функции f pi (ϖ )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций f i (ϖ ) и f pi (ϖ )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ ( f (ϖ ) i − f (ϖ ) pi ) → min .
n
i =1
2
48
Вариант № 3
Задан энергетический спектр частиц ядерной реакции. В области 5 МэВ
– 10 МэВ его можно описать уравнением:
f (ε ) = A ⋅ ε ⋅ e
−ε
T
,
где A -амплитуда; T - ядерная температура.
25
№
ε , МэВ
f (ε ) , м/МэВ·10
1
5,00
108,4
2
5,25
101,4
3
5,50
97,1
4
5,75
93,8
5
6,00
85,0
6
6,25
77,5
7
6,50
71,5
8
7,00
63,0
9
7,25
57,9
10
7,50
54,6
11
7,75
42,1
12
8,00
37,9
13
8,25
34,0
14
8,50
27,7
15
8,75
20,1
16
9,00
18,7
17
9,25
20,5
18
9,50
19,8
19
9,75
18,3
20
10,00
15,0
Определить амплитуду A и ядерную температуру T .
По заданной экспериментальной выборке:
- найти значения коэффициентов регрессии A и T , используя метод
наименьших квадратов
- найти расчетные значения функции f pi (ε )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций f i (ε ) и f pi (ε )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ ( f (ε ) i − f (ε ) pi ) → min .
n
i =1
2
49
Вариант № 4
Для некоторых значений энергии протонов E известны их пробеги R в
алюминии:
R = r ⋅ Ev
2
№
E , МэВ
R , кг/см
1
1
3,2
2
2
10,7
3
3
21,0
4
4
34,0
5
5
50,4
6
6
68,5
7
8
89,0
8
8
112,0
9
9
138,0
10
10
166,5
11
11
200,0
12
12
230,0
13
13
265,0
14
14
300,0
15
15
340,0
Определить параметры r и v .
По заданной экспериментальной выборке:
- найти значения коэффициентов регрессии r и v , используя метод
наименьших квадратов
- найти расчетные значения функции R pi ( E )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций Ri ( E ) и R pi ( E )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ (Ri − R pi ) → min .
n
i =1
2
50
Вариант № 5
В таблице приведены опытные данные зависимости коэффициента трения в
подшипнике μ от температуры T
Таблица. Экспериментальная выборка
μ i расч
N
Ti
μi
1
2
3
4
5
6
7
60
70
80
90
100
110
120
0,0148
0,0124
0,0102
0,0085
0,0071
0,0059
0,0051
δ μi
Известен вид расчетной зависимости
μ = a ⋅ e b⋅T
i
i
Идентифицировать параметры расчетной зависимости a и b .
1. Разработать программный продукт
- для определения a и b
- сортировки экспериментальных данных по возрастанию аргумента
- для вычисления значений T , μ , μ p и относительной погрешности для
каждого опыта. Результаты вывести в виде таблицы.
-для определения наибольшей и наименьшей погрешности.
2. Для вычисления a и b использовать метод наименьших квадратов.
Вычисление a и b оформить в виде процедуры Sub…End Sub. Вычисление
μ p оформить в виде функции.
Результаты вычислений сохранить в файле для дальнейшего использования
табличным процессором Excel.
Используя Excel, по полученным результатам построить графические
зависимости μ (T ) от T и μ p (T ) от T .
3. Сортировку экспериментальных данных оформить в виде процедуры
Sub…End Sub.
4. Для вычисления относительной погрешности использовать формулу:
δyi =
μ iр − μ i
μi
Построить графические зависимости экспериментальных и расчетных
значений от x.
51
Вариант № 6
Зависимость скорости охлаждения v от температуры θ может быть описана
либо по закону Ньютона
v = a1 ⋅ θ
либо по закону Стефана:
4
v = a 2 ⋅ (θ + 273) − 2734
[
(1)
]
(2)
Результаты наблюдений скорости охлаждения v от температуры θ
представлены в таблице.
Таблица. Экспериментальная выборка.
θi
vi
№
v iрасч
δ v шрасч
1
220
8,81
2
200
7,40
3
180
6,10
4
160
4,89
5
140
3,88
6
120
3,02
7
100
2,30
Для определения параметров a1 и a 2 использовать выражение, полученное по
методу наименьших квадратов для зависимости y = a ⋅ x
n
a=
∑x
i =1
n
i
⋅ yi
∑x
i =1
(3)
2
i
Если максимальная относительная погрешность δ vi больше 5%, проверить,
согласуется ли с данными опытов закон Стефана.
Идентифицировать параметр расчетной зависимости a .
1. Разработать программный продукт:
- Для определения a1 по формуле Ньютона,
-Для определения a 2 по формуле Стефана,
- для вычисления значений θ , v, v p и относительной погрешности для каждого
опыта. Результаты вывести в виде таблицы.
- Для определения наибольшей и наименьшей погрешности.
2. Для вычисления a использовать метод наименьших квадратов.
Вычисление a оформить в виде процедуры Sub…End Sub. Вычисление v р
оформить в виде функции.
52
3. Сортировку экспериментальных данных оформить в виде процедуры
Sub…End Sub.
4. Для вычисления относительной погрешности использовать формулу:
δvi =
v iрасч − v i
vi
В состав курсовой работы включить:
• Описание метода наименьших квадратов. Вывод формул для
вычисления a .
• Алгоритм процедуры для вычисления a .
• Описание метода, выбранного для сортировки данных и его алгоритм.
• Алгоритм процедуры для определения наибольшего и наименьшего
элементов последовательности.
• Программные продукты в среде VB, включая описание интерфейса
• Исходные данные и результаты вычислений, в том числе и полученные
графики.
• Выводы
53
Вариант № 7
Определить начальную скорость счета I 0 и период полураспада
T1 / 2 радиоактивного элемента по зависимости скорости счета от времени
I = I0 ⋅ e
0.693⋅τ
T1 / 2
Экспериментальные данные приведены в таблице
32
№
1
2
3
4
5
6
7
8
9
P
τ , дни
1,2
4,7
6,3
11,4
12,0
14,8
17,1
19,5
24,7
I имп./мин
2800
2400
2230
1760
1720
1520
1360
1230
960
По заданной экспериментальной выборке:
- найти значение коэффициентов регрессии T1 / 2 и I 0 , используя метод
наименьших квадратов
- найти расчетные значения функции I (τ )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций I i (τ ) и I pi (τ )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ (I i − I pi ) → min .
n
i =1
2
54
Вариант № 8
При обжиге образцов из сырьевой смеси портландцементного состава
собирали углекислый газ при разложении карбонатной составляющей смеси
в газометрический сосуд. Результаты определения времени τ
сбора
определенного объема газов
Vx
приведены в таблице 1.
Таблица 1.
Температура,
0
С
1000
1100
1200
1300
50
32
20
12
9
Объем газа, Vx , см3
150
200
250
300
105
150
202
266
67
95
127
166
41
58
78
101
28
40
53
69
100
67
42
26
18
Vполн
350
354
218
131
89
400
532
307
177
117
см3
410
422
437
449
Известно, что в этих условиях процесс описывается зависимостью:
1− 1−
VX
= k ⋅τ
Vполн
Необходимо определить по экспериментальным данным наиболее
вероятное для данной температуры значение константы реакции k .
Полученные значения k использовать для определения энергии активации
E и предэкспоненциального множителя k0 в уравнении Аррениуса:
k = k0 ⋅ e
Написать программу
программирования Visual
зависимости k (T ) , k p (T ) .
−E
R ⋅T
расчета параметров k и E на языке
Basic, произвести построение графиков
55
Вариант № 9
Средняя численная молекулярная масса полимера M в результате
деструкции под воздействием γ -излучения изменяется по закону:
1 G D ⋅ (D + D0 )
=
,
M
9.6 ⋅ 10 5
где D -доза, кГр; G D -выход деструкции, молек./100 эВ; D0 - виртуальная
поглощенная доза, кГр, необходимая для того, чтобы из бесконечно длинной
цепи полимера мысленным ее разрывом получить исходное распределение
по молекулярным массам (до начала реального облучения); D0 = 106 кГр.
№
D , кГр
M ⋅ 10 −7
1
8
2,4
2
12
2,3
3
20
2,1
4
26
2,05
5
30
2,0
6
40
1,87
7
48
1,7
8
52
1,73
Определить выход деструкции G D и начальную средне численную
молекулярную массу M 0 при D = 0 .
По заданной экспериментальной выборке:
- найти значение коэффициента регрессии G D , используя метод наименьших
квадратов
- найти расчетные значения функции M pi ( D)
- построить таблицу экспериментальных и расчетных значений
- построить графики функций M i ( D) и M pi ( D)
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ (M i − M pi ) → min .
n
i =1
2
56
Вариант № 10
Определить начальную скорость счета I 0 и период полураспада
T1 / 2 радиоактивного элемента по зависимости скорости счета от времени
I = I0 ⋅ e
0.693⋅τ
T1 / 2
Экспериментальные данные приведены в таблице
64
№
1
2
3
4
5
6
7
Cu
τ,ч
I имп./мин
5
10
15
20
25
35
45
2370
1810
1390
1060
809
475
276
По заданной экспериментальной выборке:
- найти значение коэффициентов регрессии T1 / 2 и I 0 , используя метод
наименьших квадратов
- найти расчетные значения функции I (τ )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций I i (τ ) и I pi (τ )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ (I i − I pi ) → min .
n
i =1
2
57
ЛИТЕРАТУРА
1. Симонович, С.В. Информатика. Базовый курс: Учебник для вузов / С.В.
Симонович.- СПб.: Питер, 2011. - 640 с.
2. Информатика: учебник под редакцией В.В. Трофимова. Электронные
текстовые данные. – М: Юрайт, 2012. – 911 с. (ЭБ)
3. Шапорев, С.Д. Информатика. Теоретический курс и практические занятия /
С.Д. Шапорев. - СПб.: БХВ, 2008. - 469 с.
58
ПРИЛОЖЕНИЕ А. ПРИМЕРЫ ОФОРМЛЕНИЯ ТИТУЛЬНЫХ ЛИСТОВ
Минобрнауки России
федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
"Санкт-Петербургский государственный технологический институт
(технический университет )"
УГС 15.00.00 - Машиностроение
Направление подготовки 15.03.04 - Автоматизация технологических
процессов и производств
Профиль подготовки Автоматизация технологических процессов и
производств
Факультет Информационных технологий и управления
Кафедра Системного анализа
Учебная дисциплина ИНФОРМАТИКА
Курс 1
Группа______
КУРСОВАЯ РАБОТА
Тема: Разработка программного обеспечения для построения статистической
модели методом наименьших квадратов
Студент
______________________
(подпись, дата)
Руководитель
должность
______________________
(подпись, дата)
Оцека за курсовую
Работу
____________________
(подпись, дата)
__________________
(инициалы, фамилия)
__________________
(инициалы, фамилия)
__________________
(инициалы, фамилия)
Санкт-Петербург
2015
59
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ А. ПРИМЕРЫ ОФОРМЛЕНИЯ ТИТУЛЬНЫХ
ЛИСТОВ
Минобрнауки России
федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
"Санкт-Петербургский государственный технологический институт
(технический университет )"
УГС 27.00.00 - Управление в технических системах
Направление подготовки 27.03.03 - Системный анализ и управление
Профиль подготовки Системный анализ и управление в химической
технологии
Факультет Информационных технологий и управления
Кафедра Системного анализа
Учебная дисциплина ИНФОРМАТИКА
Курс 1
Группа______
КУРСОВАЯ РАБОТА
Тема: Разработка программного обеспечения для построения статистической
модели методом наименьших квадратов
Студент
______________________
(подпись, дата)
Руководитель
должность
______________________
(подпись, дата)
Оцека за курсовую
Работу
____________________
(подпись, дата)
__________________
(инициалы, фамилия)
__________________
(инициалы, фамилия)
__________________
(инициалы, фамилия)
Санкт-Петербург
2015
60
ПРИЛОЖЕНИЕ Б. ПРИМЕРЫ ОФОРМЛЕНИЯ ЗАДАНИЯ НА КУРСОВУЮ
РАБОТУ
Минобрнауки России
федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
"Санкт-Петербургский государственный технологический институт
(технический университет )"
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
УГС 15.00.00 - Машиностроение
Направление подготовки 15.03.04 - Автоматизация технологических
процессов и производств
Профиль подготовки Автоматизация технологических процессов и
производств
Факультет Информационных технологий и управления
Кафедра Системного анализа
Учебная дисциплина ИНФОРМАТИКА
Курс 1
Группа______
Студент __________________________________________________________
Тема: Разработка программного обеспечения для построения статистической
модели методом наименьших квадратов
Исходные данные к работе (источники)
Разработать программный комплекс для получения статистической модели
методом наименьших квадратов
Влияющие факторы:
Пробеги протонов R в алюминии
Выходные параметры:
Энергии протонов E
Уравнение регрессии
R = r ⋅ Ev
61
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Б. ПРИМЕРЫ ОФОРМЛЕНИЯ ЗАДАНИЯ НА
КУРСОВУЮ РАБОТУ
Экспериментальные данные приведены в таблице:
E , МэВ
1
2
3
4
5
6
8
8
9
10
11
12
13
14
15
Определить параметры r и v .
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R , кг/см2
3,2
10,7
21,0
34,0
50,4
68,5
89,0
112,0
138,0
166,5
200,0
230,0
265,0
300,0
340,0
По заданной экспериментальной выборке:
- найти значения коэффициентов регрессии r и v , используя метод
наименьших квадратов
- найти расчетные значения функции R pi ( E )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций Ri ( E ) и R pi ( E )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ (Ri − R pi ) → min .
n
2
i =1
Литературные источники:
1. Симонович, С.В. Информатика. Базовый курс: Учебник для вузов / С.В.
Симонович.- СПб.: Питер, 2011. - 640 с.
2. Информатика: учебник под редакцией В.В. Трофимова. Электронные
текстовые данные. – М: Юрайт, 2012. – 911 с. (ЭБ)
3. Шапорев, С.Д. Информатика. Теоретический курс и практические занятия /
С.Д. Шапорев. - СПб.: БХВ, 2008. - 469 с.
Перечень вопросов, подлежащих разработке
1. Аналитический обзор
1.1 Описание метода наименьших квадратов.
62
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Б. ПРИМЕРЫ ОФОРМЛЕНИЯ ЗАДАНИЯ НА
КУРСОВУЮ РАБОТУ
2. Основная часть. Технология разработки программы
2.1. Разработка пользовательского интерфейса.
2.2. Разработка программы, реализующей подбор статистической модели
методом наименьших квадратов
2.3. Написание тестов для программы.
2.4. Написание инструкции пользователя программного комплекса.
Перечень графического материала
1. Алгоритм программы, реализующей подбор статистической модели
методом наименьших квадратов
2. Скриншоты пользовательского интерфейса в процессе работы
программы.
Требования к аппаратному и программному обеспечению
Программное
обеспечение
должно
быть
написано
на
языке
программирования Microsoft Visual Basic
Дата выдачи задания ______________________________________
Срок представления к защите ______________________________
Заведующая кафедрой ______________
(подпись, дата)
В.И. Халимон
.
(инициалы, фамилия)
Лектор,
должность
____________________
(подпись, дата )
____________________
(инициалы, фамилия)
Руководитель,
должность
____________________
(подпись, дата )
____________________
(инициалы, фамилия)
Задание принял
к выполнению
____________________
(подпись, дата )
____________________
(инициалы, фамилия)
63
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Б. ПРИМЕРЫ ОФОРМЛЕНИЯ ЗАДАНИЯ НА
КУРСОВУЮ РАБОТУ
Минобрнауки России
федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
"Санкт-Петербургский государственный технологический институт
(технический университет )"
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
УГС 27.00.00 - Управление в технических системах
Направление подготовки 27.03.03 - Системный анализ и управление
Профиль подготовки Системный анализ и управление в химической
технологии
Факультет Информационных технологий и управления
Кафедра Системного анализа
Учебная дисциплина ИНФОРМАТИКА
Курс 1
Группа______
Студент __________________________________________________________
Тема: Разработка программного обеспечения для построения статистической
модели методом наименьших квадратов
Исходные данные к работе (источники)
Разработать программный комплекс для получения статистической модели
методом наименьших квадратов
Влияющие факторы:
Пробеги протонов R в алюминии
Выходные параметры:
Энергии протонов E
Уравнение регрессии
R = r ⋅ Ev
64
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Б. ПРИМЕРЫ ОФОРМЛЕНИЯ ЗАДАНИЯ НА
КУРСОВУЮ РАБОТУ
Экспериментальные данные приведены в таблице:
E , МэВ
1
2
3
4
5
6
8
8
9
10
11
12
13
14
15
Определить параметры r и v .
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R , кг/см2
3,2
10,7
21,0
34,0
50,4
68,5
89,0
112,0
138,0
166,5
200,0
230,0
265,0
300,0
340,0
По заданной экспериментальной выборке:
- найти значения коэффициентов регрессии r и v , используя метод
наименьших квадратов
- найти расчетные значения функции R pi ( E )
- построить таблицу экспериментальных и расчетных значений
- построить графики функций Ri ( E ) и R pi ( E )
В качестве критерия оптимальности выбрать сумму квадратов разности
между экспериментальными и расчетными значениями:
S = ∑ (Ri − R pi ) → min .
n
2
i =1
Литературные источники:
1. Симонович, С.В. Информатика. Базовый курс: Учебник для вузов / С.В.
Симонович.- СПб.: Питер, 2011. - 640 с.
2. Информатика: учебник под редакцией В.В. Трофимова. Электронные
текстовые данные. – М: Юрайт, 2012. – 911 с. (ЭБ)
3. Шапорев, С.Д. Информатика. Теоретический курс и практические занятия /
С.Д. Шапорев. - СПб.: БХВ, 2008. - 469 с.
Перечень вопросов, подлежащих разработке
3. Аналитический обзор
1.1 Описание метода наименьших квадратов.
4. Основная часть. Технология разработки программы
65
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ Б. ПРИМЕРЫ ОФОРМЛЕНИЯ ЗАДАНИЯ НА
КУРСОВУЮ РАБОТУ
4.1. Разработка пользовательского интерфейса.
4.2. Разработка программы, реализующей подбор статистической модели
методом наименьших квадратов
4.3. Написание тестов для программы.
4.4. Написание инструкции пользователя программного комплекса.
Перечень графического материала
3. Алгоритм программы, реализующей подбор статистической модели
методом наименьших квадратов
4. Скриншоты пользовательского интерфейса в процессе работы
программы.
Требования к аппаратному и программному обеспечению
Программное
обеспечение
должно
быть
написано
на
языке
программирования Microsoft Visual Basic
Дата выдачи задания ______________________________________
Срок представления к защите ______________________________
Заведующая кафедрой ______________
(подпись, дата)
В.И. Халимон
.
(инициалы, фамилия)
Лектор,
должность
____________________
(подпись, дата )
____________________
(инициалы, фамилия)
Руководитель,
должность
____________________
(подпись, дата )
____________________
(инициалы, фамилия)
Задание принял
к выполнению
____________________
(подпись, дата )
____________________
(инициалы, фамилия)
66
ПРИЛОЖЕНИЕ В. ПРИМЕРЫ ЛИНЕАРИЗАЦИИ НЕЛИНЕЙНЫХ
ЗАВИСМОСТЕЙ
Пример 1.
Задано следующее выражение:
⎡ B ⋅T 2 ⎛ C ⎞2 ⎤
⎜⎜ lg s ⎟⎟ ⎥
a pi = a max ⋅ exp ⎢−
2
⎢⎣ β ⎝ C i ⎠ ⎥⎦
Прологарифмируем обе части выражения:
2
B ⋅ T 2 ⎛ Cs ⎞
⎜ lg ⎟
ln a pi = ln a max −
β 2 ⎜⎝ C i ⎟⎠
Произведем замену переменных:
2
⎛ C ⎞
y i = ln a pi ; xi = ⎜⎜ lg s ⎟⎟
⎝ Ci ⎠
Вычисляем коэффициенты линейного уравнения регрессии:
n
a=
n
n
n ⋅ ∑ ( x i ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
i =1
⎛ n ⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
i =1
2
n
, b=
n
n
n
∑ x ⋅ ∑ y − ∑ x ⋅ ∑ (x
i =1
2
i
i
i =1
i =1
i
i =1
⎛ n ⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
i
⋅ yi )
2
2
i
Искомые значения коэффициентов:
a⋅β2
b
a max = e ; B = − 2
T
Расчетные значения имеют вид:
⎡ B ⋅T 2 ⎛ C ⎞2 ⎤
⎜⎜ lg s ⎟⎟ ⎥
a pi = a max ⋅ exp ⎢−
2
⎢⎣ β ⎝ C i ⎠ ⎥⎦
Пример 2.
Задано следующее выражение:
f i = A + B ⋅ cos 2 ϖ i
Произведем замену переменных:
y i = f i ; xi = cos 2 ϖ i
Вычисляем коэффициенты линейного уравнения регрессии:
n
a=
n
n
i =1
i =1
2
n ⋅ ∑ ( x i ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
n
, b=
n
n
i =1
i =1
n
n
∑ xi2 ⋅ ∑ yi − ∑ xi ⋅ ∑ (xi ⋅ yi )
i =1
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
n
2
67
Искомые значения коэффициентов:
A = b; B = a
Расчетные значения имеют вид:
f pi = A + B ⋅ cos 2 ϖ i
Пример 3.
Задано следующее выражение:
fi = A ⋅ ε i ⋅ e
−ε i
T
Разделим обе части выражения на ε i :
fi
εi
= A⋅e
−ε i
T
Прологарифмируем обе части выражения:
f
ε
ln i = ln A − i
εi
T
Произведем замену переменных:
f
y i = ln i ; xi = ε i
εi
Вычисляем коэффициенты линейного уравнения регрессии:
n
a=
n
n
i =1
i =1
2
n ⋅ ∑ ( x i ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
n
2
i
, b=
n
n
i =1
i =1
Искомые значения коэффициентов:
A = eb ; T = −
1
a
Расчетные значения имеют вид:
f pi = A ⋅ ε ⋅ e
−ε
T
Пример 4.
Задано следующее выражение:
Ri = r ⋅ Eiv
n
n
∑ xi2 ⋅ ∑ yi − ∑ xi ⋅ ∑ (xi ⋅ yi )
i =1
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
n
2
68
Прологарифмируем обе части выражения:
ln Ri = ln r + v ln Ei
Произведем замену переменных:
y i = ln Ri ; xi = ln Ei
Вычисляем коэффициенты линейного уравнения регрессии:
n
n
n
i =1
i =1
2
n ⋅ ∑ ( x i ⋅ y i ) − ∑ xi ⋅ ∑ y i
a=
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
n
2
i
, b=
n
n
n
i =1
i =1
n
∑ xi2 ⋅ ∑ yi − ∑ xi ⋅ ∑ (xi ⋅ yi )
i =1
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
n
2
i
2
Искомые значения коэффициентов:
r = eb ; v = a
Расчетные значения имеют вид:
R pi = r ⋅ Eiv
Пример 5.
Задано следующее выражение:
μ = a ⋅ e b⋅T
i
i
Прологарифмируем обе части выражения:
ln μ i = ln a + b ⋅ Ti
Произведем замену переменных:
y i = ln μ i ; xi = Ti
Вычисляем коэффициенты линейного уравнения регрессии:
n
n
n
n ⋅ ∑ ( xi ⋅ y i ) − ∑ xi ⋅ ∑ y i
A=
i =1
i =1
⎛ n ⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
i =1
2
n
, B=
i =1
2
i
2
i
Искомые значения коэффициентов:
b = A; a = B
Расчетные значения имеют вид:
μ p = a ⋅ e b⋅T
i
i
Пример 6.
1. Задано следующее выражение:
v = a1 ⋅ θ
Произведем замену переменных:
y i = ν i ; xi = θ i
n
n
n
∑ x ⋅ ∑ y − ∑ x ⋅ ∑ (x
i
i =1
i =1
i
i =1
⎛ n ⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
2
i
⋅ yi )
69
Вычисляем коэффициент линейного уравнения регрессии:
n
a=
∑ (x
i =1
i
⋅ yi )
n
∑x
i =1
2
i
Искомое значения коэффициента:
a1 = a
Расчетные значения имеют вид:
v pi = a1 ⋅ θ i
[
]
2. Задано следующее
выражение:
4
v = a 2 ⋅ (θ + 273) − 2734
Произведем замену переменных:
y i = ν i ; xi = (θ i + 273) 4 − 273 4
Вычисляем коэффициент линейного уравнения регрессии:
n
a=
∑ (x
i =1
n
i
⋅ yi )
∑x
i =1
2
i
Искомое значения коэффициента:
a2 = a
[
]
Расчетные значения
имеют
вид:
4
4
v pi = a2 ⋅ (θ i + 273) − 273
Пример 7.
Задано следующее выражение:
Ii = I0 ⋅ e
0.693⋅τ i
T1 / 2
Прологарифмируем обе части уравнения:
0.693 ⋅τ i
ln I i = ln I 0 +
T1 / 2
Произведем замену переменных:
y i = ln I i ; xi = 0.693 ⋅ τ i
Вычисляем коэффициенты линейного уравнения регрессии:
n
a=
n
n
i =1
i =1
2
n ⋅ ∑ ( x i ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
n
, b=
n
n
i =1
i =1
n
n
∑ xi2 ⋅ ∑ yi − ∑ xi ⋅ ∑ (xi ⋅ yi )
i =1
i =1
⎛
⎞
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
n
2
70
Искомые значения коэффициентов:
1
I 0 = e b ; T1 / 2 =
a
Расчетные значения имеют вид:
I pi = I 0 ⋅ e
0.693⋅τ i
T1 / 2
Пример 8.
1. Задано следующее выражение:
1− 1−
VX
= k ⋅τ
Vполн
Произведем замену переменных:
y j ,i = 1 − 1 −
VX j
Vполн i
;
xj =τ
Вычисляем коэффициенты линейного уравнения регрессии:
n
aj =
∑ (x
i =1
n
i
⋅ yi )
∑x
i =1
2
i
Искомые значения коэффициентов:
kj = aj
2. Задано следующее выражение:
k j = k0 ⋅ e
−E
R ⋅T j
Прологарифмируем обе части уравнения:
ln(k j ) = ln(k 0) −
E
R ⋅Tj
Произведем замену переменных:
1
y j = ln(k j ), x j = .
Tj
Вычисляем коэффициенты линейного уравнения регрессии:
71
n ⋅ ∑ (x j ⋅ y j ) − ∑ x j ⋅ ∑ y j
a=
n
n
j =1
j =1
⎛ n
⎞
n ⋅ ∑ x 2j − ⎜⎜ ∑ x j ⎟⎟
j =1
⎝ j =1 ⎠
n
n
j =1
2
, b=
∑ x 2j ⋅ ∑ y j − ∑ x j ⋅ ∑ (x j ⋅ y j )
n
n
n
n
j =1
j =1
j =1
j =1
⎛ n
⎞
n ⋅ ∑ x 2j − ⎜⎜ ∑ x j ⎟⎟
j =1
⎝ j =1 ⎠
n
2
.
Искомые значения коэффициентов:
k 0 = eb ,
E = − a ⋅ R, R = 8.315
Расчетные значения имеют вид:
k pj = k 0 ⋅ e
−E
R ⋅T j
.
Пример 9.
Задано следующее выражение:
G ⋅ (Di + D0 )
1
= D
Mi
9.6 ⋅ 10 5
Произведем замену переменных:
yi =
D + D0
1
; xi = i
Mi
9.6 ⋅ 10 5
Вычисляем коэффициент линейного уравнения регрессии:
n
a=
∑ (x
i =1
n
i
⋅ yi )
∑x
i =1
2
i
Искомое значение коэффициента:
GD = a
Расчетные значения имеют вид:
M pi =
9.6 ⋅ 10 5
G D ⋅ ( Di + D0 )
Пример 10.
Ii = I0 ⋅ e
0.693⋅τ i
T1 / 2
Прологарифмируем обе части уравнения:
0.693 ⋅τ i
ln I i = ln I 0 +
T1 / 2
Произведем замену переменных:
y i = ln I i ; xi = 0.693 ⋅ τ i
Вычисляем коэффициенты линейного уравнения регрессии:
72
n
a=
n
n
i =1
i =1
2
n ⋅ ∑ ( xi ⋅ y i ) − ∑ xi ⋅ ∑ y i
i =1
⎞
⎛
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
n
, b=
n
n
i =1
i =1
Искомые значения коэффициентов:
1
I 0 = e b ; T1 / 2 =
a
Расчетные значения имеют вид:
I pi = I 0 ⋅ e
0.693⋅τ i
T1 / 2
n
n
∑ xi2 ⋅ ∑ yi − ∑ xi ⋅ ∑ (xi ⋅ yi )
i =1
i =1
⎞
⎛
n ⋅ ∑ x − ⎜ ∑ xi ⎟
i =1
⎝ i =1 ⎠
n
2
i
n
2
Download