32699

Разработка программного обеспечения для построения статистической модели методом наименьших квадратов

Курсовая

Информатика, кибернетика и программирование

Обработка экспериментально полученной зависимости состоит в проведении по зарегистрированным точкам теоретической кривой, рассчитанной для заданного набора численных значений параметров. Варьируя параметры, добиваются наилучшего совпадения теоретической кривой с экспериментальными данными.

Русский

2014-12-02

3.21 MB

15 чел.

КУРСОВАЯ РАБОТА

Тема: Разработка программного обеспечения для построения статистической модели методом наименьших квадратов.


ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ…………………………………………………………………….....3

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ………………………………..………..4

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ……………………………………………………..7

1. АНАЛИЗ МЕТОДОВ СТАТИСТИЧЕСКОЙ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ………………………………………………………7

1.1. ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ЛИНЕЙНОЙ ЗАВИСИМОСТИ ИЗ ГРАФИКА………………………………………………………………………...7

  1.  МЕТОД ПАРНЫХ ТОЧЕК…………… …………………………………8

2. ОПИСАНИЕ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ………………9

ПРАКТИЧЕСКАЯ ЧАСТЬ…………………………………………………….15

1.1. БЛОК-СХЕМА ПРОГРАММНОГО КОМПЛЕКСА………………….15

1.2. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО

КОМПЛЕКСА……………………………………………………………….....19

  1.  СКРИНШОТЫ РАБОЧЕЙ ПРОГРАММЫ ПО ВАРИАНТУ № 10….20
    1.  ПРОГРАММНЫЙ КОД К ВАРИАНТУ № 10…………………………22

ВЫВОДЫ……………………………………………………………………….27

ЛИТЕРАТУРА………………………………………………………………….27


ВВЕДЕНИЕ

Одним из важнейших методов современных наук (физики, химии и т.д.) является модельное описание. Модель позволяет получить количественную информацию об исследуемом объекте или процессе. Величины, определяющие результаты эксперимента, выступают в роли переменных и параметров некоторой функциональной зависимости, теоретически получаемой в рамках модели. После экспериментальной регистрации зависимости ее сравнивают с теоретической. Путем сравнения можно не только численно определить, т.е. измерить, значения величин, не измеряемых другим способом, но и вывести заключение об адекватности применения модели.

Обработка экспериментально полученной зависимости состоит в проведении по зарегистрированным точкам теоретической кривой, рассчитанной для заданного набора численных значений параметров. Варьируя параметры, добиваются наилучшего совпадения теоретической кривой с экспериментальными данными. Достижению такого совпадения помогает обязательное требование: теоретическая кривая должна отражать все особенности поведения экспериментальной зависимости, а, тем более, не давать повода для сомнений в совпадении с ней. Полученный набор параметров расценивается как результат их одновременного измерения, выполненного на основе используемой модели.

В эксперименте часто проверяют линейную зависимость двух величин вида:

y=а·x+b,                                (1)

где х, у - измеряемые величины, а, Ь - параметры зависимости. Даже если из модельного описания непосредственно не получается линейная зависимость величин, теоретическую зависимость стремятся преобразовать к линейной. Объясняется это тем, что линейная зависимость выделяется из других форм функциональной связи двух величин. Во-первых, в силу психологических причин восприятие человека обладает свойством выделять прямые линии, как встречающиеся в повседневной жизни, так и построенные в виде графиков. Визуально удается достаточно точно восстановить из графика всю прямую, даже в той области, где информация о ней частично отсутствует. Это означает, что проводимая «на глаз» прямая, которая проходит по точкам, содержащим экспериментальный разброс, оказывается удивительно близкой к оптимальной, построенной с помощью методов математической статистики. Собственно, возможности статистики применительно к линейной зависимости определяют второе обстоятельство ее частого использования. Дело в том, что параметры линейной зависимости и их погрешности могут быть надежно оценены на основе метода, называемого методом наименьших квадратов.

Курсовая работа состоит в написании программного комплекса, реализующего метод наименьших квадратов. Описание метода приведено в теоретической части данной курсовой работы. В практической части представлены блок-схемы, описание пользовательского интерфейса, программный код, а также результаты работы программы.

 Минобрнауки России

федеральное государственное бюджетное образовательное  учреждение высшего профессионального образования

"Санкт-Петербургский государственный технологический институт

(технический университет )"

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

УГС 22000 - Автоматика и управление

Направление подготовки 220700 - Автоматизация технологических процессов и производств 

Профиль подготовки Автоматизация технологических процессов и производств 

Факультет Информационных технологий и управления 

Кафедра Системного анализа

Учебная дисциплина  ИНФОРМАТИКА

Курс 1        Группа 4393

Студент Потехин Евгений Александрович

Тема: Разработка программного обеспечения для построения статистической модели методом наименьших квадратов.

Вариант № 10.

Исходные данные к работе (источники)

Разработать программный комплекс для получения статистической модели методом наименьших квадратов

Влияющие факторы:

Скорость счета I радиоактивного элемента 64Cu

Выходные параметры:

Время счета τ

Уравнение зависимости скорости счета от времени

Экспериментальные данные приведены в таблице:

, ч

имп./мин

1

5

2370

2

10

1810

3

15

1390

4

20

1060

5

25

809

6

35

475

7

45

276

По заданной экспериментальной выборке:

- найти значение коэффициентов регрессии и , используя метод наименьших квадратов;

- найти расчетные значения функции ;

- построить таблицу экспериментальных и расчетных значений;

- построить графики функций и .

В качестве критерия оптимальности выбрать сумму квадратов разности между экспериментальными и расчетными значениями:

.


ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

  1.  АНАЛИЗ МЕТОДОВ СТАТИСТИЧЕСКОЙ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ

  1.  ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ЛИНЕЙНОЙ ЗАВИСИМОСТИ ИЗ ГРАФИКА

После нанесения на график экспериментальных точек по ним «на глаз» проводят прямую. Строят ее таким образом, чтобы точки в среднем одинаково располагались по обе стороны от прямой. На рис.1 это прямая 1-2. На ней выбирают две точки (1 и 2) максимально удаленные друг от друга.

Рис.1 Графическая обработка линейной зависимости.

Их координаты х1, y1 и х2, y2 подставляют в (1) для получения двух уравнений с неизвестными а и b:

y1=ax1+b;

y2=ax2+b,

из которых находят:

,                    (2)

Для оценивания ∆а и ∆b строят две дополнительные прямые симметричные относительно прямой 1-2, чтобы экспериментальные точки, в основном, располагались между ними.

Если на графике имеются точки, которые отстоят от основной прямой 1-2 более, чем на утроенное среднее расстояние точек до прямой (это хорошо заметно уже при рассматривании графика - на рис.1 такой точкой является точка А), то их отбрасывают и не используют при построении дополнительных прямых. Соответствующие измерения, скорее всего, содержат промахи.

Дополнительные прямые определяют «коридор погрешностей» эксперимента, внутри которого находится исследуемая линейная зависимость. Предельные случаи хода этой зависимости получатся, если провести прямые через противоположные углы «коридора» (прямые 4-5 и 6-7). Тем же способом, что и для основной прямой 1-2, находят параметры предельных прямых ai, bi и а2, b2. Оценки погрешностей:

,

Может оказаться, что теоретическую зависимость между измеряемыми величинами предполагают линейной, а экспериментальные точки явно не ложатся на прямую. Проведение по ним прямой, как это сделано на рис 2, неправомерно. Расхождение между теоретической н экспериментальной зависимостями свидетельствует о наличии систематических погрешностей, которые должны быть выявлены и учтены при обработке результатов. Иначе экспериментатору остается только констатировать расхождение модели с экспериментом.

Рнс.2 Пример необоснованной интерпретации экспериментальной зависимости как линейной.

Часто линейная зависимость является приближенно справедливой в ограниченном интервале изменения физических величин. В таком случае необходимо определить границы применимости линейной зависимости и указать их при анализе результатов эксперимента.

  1.  МЕТОД ПАРНЫХ ТОЧЕК

В некоторых экспериментах основной интерес представляет только угловой коэффициент зависимости (1). Для оценивания значения коэффициента и определения его погрешности удобен метод парных точек. Он заключается в следующем.

После нанесения на график экспериментальных точек из них выбирают пары, в которых точки отстоят друг от друга примерно на одинаковое расстояние. Желательно, чтобы это расстояние было максимально возможным. Через каждую пару проводят прямую, а затем согласно (2) вычисляют угловые коэффициенты всех прямых. Из получившегося набора коэффициентов по правилам обработки данных прямых измерении определяют среднее значение коэффициента и его погрешность. Их принимают за результат измерения искомого параметра зависимости (1).

Например, конкретной обработка данных эксперимента по измерению сопротивления R участка электрической цепи. Даны измеренные значения тока I и соответствующие им значения падения напряжения U.

Теоретическое описание исследуемой зависимости дает закон Ома:

U = R·I,

где сопротивление R является угловым коэффициентом линейной зависимости, проходящей через начало координат. Значит, для его определения можно воспользоваться методом парных точек. Проставляют экспериментальные точки на график (рис 3) и нумеруют их по порядку от 1 до 8. Выбирают пары точек 1-5, 2-6, 3-7, 4-8 и заносят их координаты в табл. 1, которую используют для проведения необходимых вычислений.

Рис.3 Зависимость падения напряжения от тока в цепи.

Таблица 1.  Обработка данных методом парных точек

Вычисляют среднее значение сопротивления:

.

Далее переходят к вычислению дисперсии:

.

Для n и доверительной вероятности α находят табличный коэффициент Стьюдента, и домножением на него дисперсии получают . Окончательный результат:

.

Точность измерения сопротивления невелика, что свидетельствует о наличии значительных экспериментальных погрешностей

  1.  ОПИСАНИЕ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ

Этот метод является одним из наиболее распространенных приемов статистической обработки экспериментальных данных, относящихся к различным функциональным зависимостям физических величин яруг от друга. В том числе, он применим к линейной зависимости и позволяет получить достоверные оценки ее параметров а и b, а также оценить их погрешности.

Пусть имеется установка, работающая по принципу «черного ящика». На входе в данную установку мы можем установить вектор входных параметров xi, а на выходе из установки измерить вектор выходных параметров yi, где i=1..n. Число n представляет собой число опытов (рис. 4).

Рис. 4 Изображение исследуемого объекта.

 Существование зависимости между двумя наборами величин xi, и yi, где i=1..n можно определить с помощью коэффициента парной корреляции rxy, численная величина которого вычисляется по формуле:

    (3)

Коэффициент парной корреляции находится в пределах -1≤ rxy ≤+1, то есть  или . Чем ближе коэффициент парной корреляции находится к единице, тем сильнее  зависимость yi=f(xi). При равенстве коэффициента парной корреляции нулю зависимость отсутствует. По числовому значению коэффициента парной корреляции можно сделать предположение о виде зависимости.

Если коэффициент парной корреляции по абсолютной величине равен единице, то существует линейная зависимость yi=a·xi+b (рис. 5).

Рис. 5 Вид линейной зависимости

Если коэффициент парной корреляции положительный, то с увеличением аргумента, увеличивается значение функции (рис. 6).

Рис. 6 С увеличением аргумента увеличивается значение функции

При отрицательном коэффициенте парной корреляции с увеличением аргумента, уменьшается значение функции (рис. 7).

Рис. 7 – С увеличением аргумента уменьшается значение функции

В случае существования зависимости между входными и выходными параметрами объекта исследования ищется уравнение регрессии. Для поиска уравнения регрессии используется метод наименьших квадратов.

Суть метода наименьших квадратов заключается в следующем. Предполагается, что зависимость между величинами является линейной: yi=a·xi+b и сумма квадратов отклонений расчетных значений от экспериментальных - должна быть минимальной.

Расчетное значение запишем в следующем виде:

    (4)

Сумму квадратов отклонений расчетных значений от экспериментальных запишем в виде:

   (5)

В выражение (5) подставим уравнение регрессии (4) и получим:

  (6)

Известно, что экстремум функции достигается тогда, когда первая производная равна нулю. В нашем случае имеются два неизвестных: a и b. По данным коэффициентам возьмем две частные производные:

     (7)

Разделим оба уравнение системы (5) на -2. В результате, раскрыв скобки, получим систему из двух линейных уравнений с двумя неизвестными a и b:

;

     (8)

Данная система может быть решена с помощью метода Крамера. Главный определитель системы ∆ равен:

Коэффициенты при неизвестном a и b заменяем столбцом свободных членов, получаем определители:

и

Вычисляем коэффициенты по правилу Крамера:

  (9)

Таким образом, получены коэффициенты уравнения регрессии ypi=a·xi+b.

Уравнение регрессии (4) может адекватно описывать процесс только в интервале экспериментальных значений, с помощью которых вычислялись коэффициенты уравнения регрессии:

.

Для оценки адекватности модели, на практике могут быть использованы следующие оценки: корреляционное отношение η и средняя относительная ошибка ε:

,     (10)

где  - среднее значение выходного параметра.

   (11)

В настоящее время существует ряд нелинейных зависимостей, которые могут быть приведены к линейному виду yi=a·xi+b. Операция приведения нелинейной зависимости к линейному виду называется линеаризацией.

Вариант 10. Определить начальную скорость счета I0 и период полураспада T1/2 радиоактивного элемента по зависимости скорости счета от времени:

,    (12)

Приведем нелинейное уравнение (12) к линейному виду. Прологарифмируем обе части уравнения:

Проведем замену переменных:

,

в результате получим уравнение yi=b+a·xi или yi=a·xi+b.

Таким образом, для того, чтобы найти предэкспоненциальный множитель  - начальную скорость счета I0 и период полураспада T1/2 радиоактивного элемента, необходимо проделать следующие действия:

1. yi=ln(Ii), xii;

2. ,       (13)

Кроме этого, следует вычислить среднеквадратические ошибки a и b.

Находим дисперсию:

  (14)

Далее находим дисперсию параметра a:

      (15)

После этого находим дисперсию параметра b:

    (16)

Согласно ГОСТ Р 8.736 доверительная вероятность P=0,95. При такой вероятности P и количестве измерений n=7 количество степеней свободы f=6, значит коэффициент Стьюдента (таблица) равен t=2,44691184879, тогда домножив дисперсии параметров a и b на коэффициент Стьюдента найдем абсолютные ошибки для a и b.

a=a±σa·t                

b=b±σb·t               

3. I0=eb, T1/2=0,693/а              (17)

4. .

Следует отметить, что погрешность метода наименьших квадратов в полтора раза меньше, чем у метода парных точек.


ПРАКТИЧЕСКАЯ ЧАСТЬ

1.1. БЛОК-СХЕМА ПРОГРАММНОГО КОМПЛЕКСА

Для программы Microsoft Visual Studio:




Для программы
Microsoft Excel:


1.2. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО КОМПЛЕКСА

Для программы Microsoft Visual Studio:

  1.  Вводим количество экспериментальных данных n
  2.  Вводим экспериментальные данные τ и I
  3.  Нажимаем кнопку построить график
  4.  Получаем таблицу расчетных данных, искомые a, b, и , а также построенные графики функций I(τ) и Iрi(τ)

Для программы Microsoft Excel:

  1.  Записываем экспериментальные τ и I данные в таблицу
  2.  Строим график функции I(τ) и линию тренда

  1.  Создаем расчетные ячейки относительно экспериментальных данных, а именно, присваиваем xii, yi=Ln(Ii)
  2.  Делаем вспомогательные расчеты: xi· xi; xi·yi и yi· yi
  3.  Вычисляем суммы всех расчетных данных: , , , ,
  4.  Получаем следующую таблицу:

τ, ч

I, имп./мин.

х, ч

y

х*х

х*y

y*y

1

5

2370

5

7,77

25

38,85

60,38

2

10

1810

10

7,50

100

75,01

56,27

3

15

1390

15

7,24

225

108,56

52,38

4

20

1060

20

6,97

400

139,32

48,53

5

25

809

25

6,70

625

167,39

44,83

6

35

475

35

6,16

1225

215,72

37,99

7

45

276

45

5,62

2025

252,92

31,59

сумма

 

 

155

47,95

4625

997,77

331,96

  1.  Находим по формулам (13) a и b
  2.  Находим дисперсии σ2, ,  по формулам (14), (15),(16)
  3.  Находим абсолютные ошибки для a и b
  4.  Находим значение коэффициентов регрессии и  по формулам (17)
  5.  Строим график функции Iрi(τ)

  1.  СКРИНШОТЫ РАБОЧЕЙ ПРОГРАММЫ ПО ВАРИАНТУ № 10

Скриншоты из программы Microsoft Visual Studio

Скриншоты из программы Microsoft Excel

  1.  ПРОГРАММНЫЙ КОД К ВАРИАНТУ № 10

Public Class Form1

   Dim x() As Single

   Dim I() As Double

   Dim Y() As Double

   Dim n As Integer

   Dim f() As Double

   Dim j As Integer

   Dim S1 As Double

   Dim S2 As Double

   Dim S3 As Double

   Dim S4 As Double

   Dim S5 As Double

   Dim a As Double

   Dim b As Double

   Dim RowI As Integer

   Dim ColI As Integer

   Dim sigma As Double

   Dim sigmaA As Double

   Dim sigmaB As Double

   Dim absalutA As Double

   Dim absalutB As Double

   Dim I0 As Double

   Dim T1_2 As Double

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

       'n = CSng(InputBox("Введите число n = "))

       n = CSng(TextBox6.Text)

       ReDim x(n)

       ReDim I(n)

       ReDim Y(n)

       AxMSFlexGrid1.Col = 1 'первый столбец

       AxMSFlexGrid1.Row = 0 'шапка

       AxMSFlexGrid1.Text = "час" 'заголовок в табл

       'ввод τ

       For j As Integer = 1 To n

           x(j) = CSng(InputBox("Введите число t(" & j & ")"))

           ''''''''''''''''' TextBox1.Text = TextBox1.Text + CStr(x(j)) + vbCrLf

           AxMSFlexGrid1.Col = 1

           AxMSFlexGrid1.Row = j ' - 1

           AxMSFlexGrid1.Text = CStr(x(j))

           'номера строк-----------------------

           AxMSFlexGrid1.Row = j

           AxMSFlexGrid1.Col = 0

           AxMSFlexGrid1.Text = CStr(j)

       Next

       AxMSFlexGrid1.Col = 2 '2й столбец

       AxMSFlexGrid1.Row = 0 ' шапка

       AxMSFlexGrid1.Text = "имп./мин" 'заголовок табл

       'ввод I

       For j As Integer = 1 To n

           I(j) = CSng(InputBox("Введите число I(" & j & ")"))

           ''''''''''''''''''''''''''    TextBox2.Text = TextBox2.Text + CStr(I(j)) + vbCrLf

           'AxMSFlexGrid1.Col = 2

           AxMSFlexGrid1.Row = j ' - 1

           AxMSFlexGrid1.Text = CStr(I(j))

           Y(j) = Math.Log(I(j))

       Next

       myFunction()

   End Sub

   Private Sub myFunction()

       S1 = 0

       S2 = 0

       S3 = 0

       S4 = 0

       S5 = 0

       AxMSFlexGrid1.Row = 0

       AxMSFlexGrid1.Col = 3

       AxMSFlexGrid1.Text = "x" 'S1

       AxMSFlexGrid1.Col = 4

       AxMSFlexGrid1.Text = "y"  'S2

       AxMSFlexGrid1.Col = 5

       AxMSFlexGrid1.Text = "x*y" 'S3

       AxMSFlexGrid1.Col = 6

       AxMSFlexGrid1.Text = "x^2" 'S4

       AxMSFlexGrid1.Col = 7

       AxMSFlexGrid1.Text = "y^2" 'S5

       For j As Integer = 1 To n

           AxMSFlexGrid1.Row = j

           AxMSFlexGrid1.Col = 3

           S1 = x(j) + S1

           AxMSFlexGrid1.Text = CStr(Math.Round(x(j), 2))

           AxMSFlexGrid1.Col = 4

           S2 = S2 + Y(j)

           AxMSFlexGrid1.Text = CStr(Math.Round(Y(j), 2))

           AxMSFlexGrid1.Col = 5

           S3 = S3 + x(j) * Y(j)

           AxMSFlexGrid1.Text = CStr(Math.Round(x(j) * Y(j), 2))

           AxMSFlexGrid1.Col = 6

           S4 = S4 + x(j) ^ 2

           AxMSFlexGrid1.Text = CStr(Math.Round(x(j) ^ 2, 2))

           AxMSFlexGrid1.Col = 7

           S5 = S5 + Y(j) ^ 2

           AxMSFlexGrid1.Text = CStr(Math.Round(Y(j) ^ 2, 2))

       Next

       AxMSFlexGrid1.Row = n + 1

       AxMSFlexGrid1.Col = 0

       AxMSFlexGrid1.Text = "сумма"

       AxMSFlexGrid1.Col = 3

       AxMSFlexGrid1.Text = CStr(Math.Round((S1), 2)) 'округляем до второго числа

       AxMSFlexGrid1.Col = 4

       AxMSFlexGrid1.Text = CStr(Math.Round((S2), 2))

       AxMSFlexGrid1.Col = 5

       AxMSFlexGrid1.Text = CStr(Math.Round((S3), 2))

       AxMSFlexGrid1.Col = 6

       AxMSFlexGrid1.Text = CStr(Math.Round((S4), 2))

       AxMSFlexGrid1.Col = 7

       AxMSFlexGrid1.Text = CStr(Math.Round((S5), 2))

       '-----------------------формулы----------------------

       a = 0

       b = 0

       a = (n * S3 - S1 * S2) / (n * S4 - S1 ^ 2)

       b = (S4 * S2 - S1 * S3) / (n * S4 - S1 ^ 2)

       ' --------------------------------------------------

       TextBox4.Text = CStr(a) ' вывод a

       TextBox5.Text = CStr(b) 'вывод b

       ReDim f(n)

       TextBox3.Text = "" 'ОЧИСТИТЬ

       For j As Integer = 1 To n

           f(j) = a * x(j) + b

           TextBox3.Text = TextBox3.Text + CStr(f(j)) + vbCrLf

       Next

       'расчет дисперсии

       sigma = (1 / (n * (n - 2))) * (n * S5 - S2 ^ 2 - ((n * S3 - S1 * S2) ^ 2) / (n * S4 - S1 ^ 2)) ' Math.Sqrt   корень

       'вывод сигма ^2

       TextBox8.Text = CStr(sigma)

       '---------------------------дисперсия параметра a и b-----------------

       sigmaA = (n * sigma) / (n * S4 - S1 ^ 2)

       sigmaB = ((1 / n) * S4 * sigmaA)

       TextBox9.Text = CStr(sigmaA)

       TextBox10.Text = CStr(sigmaB)

     

 '---------------------------------------------------------

       absalutA = Math.Sqrt(sigmaA) * CSng(TextBox11.Text)

       absalutB = Math.Sqrt(sigmaB) * CSng(TextBox11.Text)

       Label11.Text = CStr(a) + " +/- " + CStr(absalutA)

       Label12.Text = CStr(b) + " +/- " + CStr(absalutB)

       I0 = Math.Exp(b)

       T1_2 = 0.693 / a

       TextBox12.Text = CStr(I0)

       TextBox13.Text = CStr(T1_2)

   End Sub

 

   Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged

       If TextBox6.Text <> "" Then

           AxMSFlexGrid1.Rows = CInt(TextBox6.Text) + 2 '+1тк верхняя строка серая +1 для сумм

       End If

   End Sub

   Private Sub AxMSFlexGrid1_DblClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AxMSFlexGrid1.DblClick

   End Sub

   Private Sub TextBox7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox7.TextChanged

   End Sub

   Private Sub AxMSFlexGrid1_ClickEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AxMSFlexGrid1.ClickEvent

       TextBox7.Text = AxMSFlexGrid1.Text 'окно для редактирования данных табл  

       RowI = AxMSFlexGrid1.Row 'номер строки

       ColI = AxMSFlexGrid1.Col ' номер столбца

       If TextBox7.Text <> "" And (ColI = 1 Or ColI = 2) Then    'если первый или 2й столбец то окошко редактирования и кнопка активны

           TextBox7.Enabled = True

           Button4.Enabled = True

       Else : TextBox7.Enabled = False

           Button4.Enabled = False

       End If

       '  строка состояния

       ToolStripStatusLabel1.Text = "строка=" + CStr(RowI) + " " + "столбец=" + CStr(ColI)

   End Sub

   Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

       'редактирование таблицы

       If TextBox7.Text <> "" And (ColI = 1 Or ColI = 2) Then

           AxMSFlexGrid1.Row = RowI

           AxMSFlexGrid1.Col = ColI

           If ColI = 1 Then '1й столбец x

               x(RowI) = CSng(TextBox7.Text)

               AxMSFlexGrid1.Text = TextBox7.Text

           End If

           If ColI = 2 Then ' второй столбец I

               I(RowI) = CSng(TextBox7.Text)

               AxMSFlexGrid1.Text = TextBox7.Text

           End If

           myFunction() 'процедура расчета

       Else : TextBox7.Text = ""

       End If

   End Sub

   Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

       '--------------------------------------------------------

       Chart1.Series.Clear()

       Chart1.Series.Add("(Ipi;τ)")

       Chart1.Series.Add("Ipi(τ)")

       Chart1.ChartAreas("ChartArea1").AxisX.Title = "τ, ч."

       Chart1.ChartAreas("ChartArea1").AxisY.Title = "Ipi, имп./мин."

       Chart1.Series("Ipi(τ)").ChartType = DataVisualization.Charting.SeriesChartType.Spline

       Chart1.Series("(Ipi;τ)").ChartType = DataVisualization.Charting.SeriesChartType.FastPoint

       Chart1.Series("(Ipi;τ)").Color = Color.Red

       Chart1.Series("Ipi(τ)").Color = Color.Blue

       Chart1.Series("(Ipi;τ)").BorderWidth = 3

       Chart1.Series("Ipi(τ)").BorderWidth = 2

       For j As Integer = 1 To n

           Chart1.Series("(Ipi;τ)").Points.AddXY(x(j), Y(j))

           Chart1.Series("Ipi(τ)").Points.AddXY(x(j), f(j))

       Next

       '----------------------------------------------------------------

  '---------------------ЭКСПЕРЕМЕНТАЛЬНЫЕ ДАННЫЕ

       Chart2.Series.Clear()

       Chart2.Series.Add("(I;τ)")

       'Chart2.Series.Add("f(x)")

       Chart2.ChartAreas("ChartArea1").AxisX.Title = "τ, ч."

       Chart2.ChartAreas("ChartArea1").AxisY.Title = "I, имп./мин." ', f(x)"

       'Chart2.Series("f(x)").ChartType = DataVisualization.Charting.SeriesChartType.Spline

       Chart2.Series("(I;τ)").ChartType = DataVisualization.Charting.SeriesChartType.FastPoint

       Chart2.Series("(I;τ)").Color = Color.Red

       'Chart2.Series("f(x)").Color = Color.Blue

       Chart2.Series("(I;τ)").BorderWidth = 3

       ' Chart2.Series("f(x)").BorderWidth = 2

       For j As Integer = 1 To n

           Chart2.Series("(I;τ)").Points.AddXY(x(j), I(j))

           '    Chart2.Series("f(x)").Points.AddXY(x(j), f(j))

       Next

   End Sub

End Class


ВЫВОДЫ

В процессе работы над курсовой работой проведен анализ методов статистической обработки экспериментальных данных. Разработано программное обеспечение для построения статистической модели методом наименьших квадратов в программах Microsoft Visual Studio и  Microsoft Excel. Совпадение результатов двух программ доказывает правильность написания программного обеспечения.


ЛИТЕРАТУРА

1. ГОСТ Р 8.736-2011 «Государственная система обеспечения единства измерений. Измерения прямые многократные. Методы обработки результатов измерений. Основные положения».

2 Агапьев Б.Д., Белов В.Н., Кесаманлы Ф.П., Козловский В.В., Марков С.И. Обработка экспериментальных данных. Учеб. пособие. – СПб.:АОЗТ «Констрой». – 84 с.

3 Симонович, С.В. Информатика. Базовый курс: Учебник для вузов / С.В. Симонович.- СПб.: Питер, 2011. - 640 с.

4 Информатика: учебник под редакцией В.В. Трофимова. Электронные текстовые данные. – М: Юрайт, 2012. – 911 с. (ЭБ)

5 Шапорев, С.Д. Информатика. Теоретический курс и практические занятия / С.Д. Шапорев. - СПб.: БХВ, 2008. - 469 с.