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

Автор работы: Пользователь скрыл имя, 17 Сентября 2014 в 20:56, курсовая работа

Краткое описание

Целью настоящей работы является разработка программы для визуализации результатов статистической обработки экспериментальных данных.В ходе работы должен быть построен график визуализирующей зависимость температуры физического объекта от времени, регистрируемой тремя датчика на протяжении фиксированного промежутка времени. Исходные данные передаются на обработку из одного файла. Результаты исследования должны сохраняться в текстовом файле. Так же была создана электронная таблица, которая визуализирует данные и аппроксимирует их полиномиальной функцией 3-го порядка.

Содержание

Введение 3
Теоретическая часть 3
Создание формы приложения 3
Пример работы с программой 13
Визуализация и аппроксимация данных в электронной таблице
Вывод 22
Код программы

Вложенные файлы: 1 файл

vizializaciya_rezultatov_statisticheskoi_obrabotki_ekspereme.doc

— 602.50 Кб (Скачать файл)

ObsMin = min3                      'нашли его'

End If

If Abs(ObsMax - srArif) > Abs(ObsMin - srArif) Then 'ищем max отклонение'

MaxOtkl = Abs(ObsMax - srArif)

Else

MaxOtkl = Abs(ObsMin - srArif)

frmObr.List2.AddItem Format(MaxOtkl, "##.## C") 'нашли максимальное отклонение от среднего'

End If

Dim s As Integer

Procent = srArif / 100 * 8 'нашли 8 процентов от средней температуры'

s = 0        'счетчик'

For i = 0 To UBound(Pokaz1)

TempProcent = Int(srArif) - Pokaz1(i)         'считаем'

If Abs(Int(TempProcent)) = Int(Procent) Then  '.......'

s = s + 1

End If

Next i

For i = 0 To UBound(Pokaz2)                  'считаем для второго датчика'

TempProcent = Int(srArif) - Pokaz2(i)

If Abs(Int(TempProcent)) = Int(Procent) Then

s = s + 1

End If

Next i

For i = 0 To UBound(Pokaz3)

TempProcent = Int(srArif) - Pokaz3(i)         'и для третьего'

If Abs(Int(TempProcent)) = Int(Procent) Then

s = s + 1

End If

Next i

frmObr.List3.AddItem s 'и вывели'

End Sub

Private Sub saveFile_Click()

Dim MyFile As Integer

MyFile = FreeFile

p = App.Path & "\" & "Data1" & ".txt"

Open p For Output As #MyFile

Do

For i = 0 To UBound(Pokaz1)

k = i

s = Val((Pokaz1(k)) + Val(Pokaz2(k)) + Val(Pokaz3(k))) / 3

k = k - 1

Print #MyFile, (Format(s, "#.##")) 'выгружаем  среднюю температуру'

Next i

Loop Until k >= 0

For i = 0 To UBound(Pokaz1)

If Pokaz1(i) > Pokaz2(i) Then

A = Pokaz2(i)

Else

A = Pokaz1(i)

End If

If A > Pokaz3(i) Then

B = Pokaz3(i)

Else

B = A

End If

Print #MyFile, (Format(B, "   ##")) 'выгружаем  минимумы'

Next i

If MsgBox("Данные записаны", vbYes, " ") = vbYes Then

Unload Me

End If

End Sub

 

Private Sub Find1_Click()

Dim max1 As Integer, min1 As Integer

Dim i As Integer

k1 = 0: min1 = Pokaz1(0)

k2 = 0: max1 = Pokaz1(0)

For i = 0 To UBound(Pokaz1)

If Pokaz1(i) < min1 Then

k1 = i: min1 = Pokaz1(i) 'определяем минимум  и номер элемента'

End If

If Pokaz1(i) > max1 Then

k2 = i: max1 = Pokaz1(i) 'определяем максимум и номер элемента'

End If

Next i

frmObr.max1.AddItem max1

frmObr.min1.AddItem min1

Dim MinMax1 As Integer, HourMax1 As Integer

Dim TempMin As Integer, TempHour As Integer

Dim Temp As String

MinMax1 = 7 'начальное значение минуты'

HourMax1 = 10 'начальное значение часы'

Temp = 18 * k2 / 60           'колдунство'

Temp = Temp + " " + ","       'добавляем пробел'

TempTime = Split(Temp, ",")   'разделяем на часы и минуты'

For i = 0 To UBound(TempTime)

TempHour = TempTime(0)        'записываем  часы - 0 элемент'

If TempTime(1) = "" Then      'если 1 элементы - пробел'

TempMin = 0                   'значит минут нет'

Else                          'иначе'

TempMin = TempTime(1)         'минуты это 1 элемент'

End If

Next i

HourMax1 = HourMax1 + TempHour  'записываем часы'

MinMax1 = MinMax1 + 6 * TempMin 'записываем минуты'

If MinMax1 > 60 Then            'Цикл на случай'

HourMax1 = HourMax1 + 1         'если минут больше'

MinMaz1 = MinMax1 - 60          'чем 60'

End If

frmObr.HourMax1.AddItem HourMax1  'выводим часы'

frmObr.MinMax1.AddItem MinMax1    'выводим минуты'

Dim MinMin1 As Integer, HourMin1 As Integer

MinMin1 = 7                   'ну и для минимума'

HourMin1 = 10                 'и остальных 2 датчиков'

Temp = 18 * k1 / 60           'тоже самое'

Temp = Temp + " " + ","

TempTime = Split(Temp, ",")

For i = 0 To UBound(TempTime)

TempHour = TempTime(0)

If TempTime(1) = "" Then

TempMin = 0

Else

TempMin = TempTime(1)

End If

Next i

HourMin1 = HourMin1 + TempHour

MinMin1 = MinMin1 + 6 * TempMin

If MinMin1 > 60 Then

HourMin1 = HourMin1 + 1

MinMin1 = MinMin1 - 60

End If

frmObr.HourMin1.AddItem HourMin1

frmObr.MinMin1.AddItem MinMin1

End Sub

Private Sub find2_Click()

Dim max2 As Integer, min2 As Integer

k1 = 0: min2 = Pokaz2(0)

k2 = 0: max2 = Pokaz2(0)

For i = 0 To UBound(Pokaz2)

If Pokaz2(i) < min2 Then

k1 = i: min2 = Pokaz2(i)

End If

If Pokaz2(i) > max2 Then

k2 = i: max2 = Pokaz2(i)

End If

Next i

frmObr.max2.AddItem max2

frmObr.min2.AddItem min2

Dim MinMax2 As Integer, HourMax2 As Integer

Dim Temp As String

MinMax2 = 7

HourMax2 = 10

Temp = 18 * k2 / 60

Temp = Temp + " " + ","

TempTime = Split(Temp, ",")

For i = 0 To UBound(TempTime)

TempHour = TempTime(0)

If TempTime(1) = "" Then

TempMin = 0

Else

TempMin = TempTime(1)

End If

Next i

HourMax2 = HourMax2 + TempHour

MinMax2 = MinMax2 + 6 * TempMin

If MinMax2 > 60 Then

HourMax2 = HourMax2 + 1

MinMax2 = MinMax2 - 60

End If

frmObr.HourMax2.AddItem HourMax2

frmObr.MinMax2.AddItem MinMax2

Dim MinMin2 As Integer, HourMin2 As Integer

MinMin2 = 7

HourMin2 = 10

Temp = 18 * k1 / 60

Temp = Temp + " " + ","

TempTime = Split(Temp, ",")

For i = 0 To UBound(TempTime)

TempHour = TempTime(0)

If TempTime(1) = "" Then

TempMin = 0

Else

TempMin = TempTime(1)

End If

Next i

HourMin2 = HourMin2 + TempHour

MinMin2 = MinMin2 + 6 * TempMin

If MinMin2 > 60 Then

HourMin2 = HourMin2 + 1

MinMin2 = MinMin2 - 60

End If

frmObr.HourMin2.AddItem HourMin2

frmObr.MinMin2.AddItem MinMin2

End Sub

 

Private Sub find3_Click()

Dim max3 As Integer, min3 As Integer

k1 = 0: min3 = Pokaz3(0)

k2 = 0: max3 = Pokaz3(0)

For i = 0 To UBound(Pokaz3)

If Pokaz3(i) < min3 Then

k1 = i: min3 = Pokaz3(i)

End If

If Pokaz3(i) > max3 Then

k2 = i: max3 = Pokaz3(i)

End If

Next i

frmObr.max3.AddItem max3

frmObr.min3.AddItem min3

Dim MinMax3 As Integer, HourMax3 As Integer

Dim Temp As String

MinMax3 = 7

HourMax3 = 10

Temp = 18 * k2 / 60

Temp = Temp + " " + ","

TempTime = Split(Temp, ",")

For i = 0 To UBound(TempTime)

TempHour = TempTime(0)

If TempTime(1) = "" Then

TempMin = 0

Else

TempMin = TempTime(1)

End If

Next i

HourMax3 = HourMax3 + TempHour

MinMax3 = MinMax3 + 6 * TempMin

If MinMax3 > 60 Then

HourMax3 = HourMax3 + 1

MinMax3 = MinMax3 - 60

End If

frmObr.HourMax3.AddItem HourMax3

frmObr.MinMax3.AddItem MinMax3

Dim MinMin3 As Integer, HourMin3 As Integer

MinMin3 = 7

HourMin3 = 10

Temp = 18 * k1 / 60

Temp = Temp + " " + ","

TempTime = Split(Temp, ",")

For i = 0 To UBound(TempTime)

TempHour = TempTime(0)

If TempTime(1) = "" Then

TempMin = 0

Else

TempMin = TempTime(1)

End If

Next i

HourMin3 = HourMin3 + TempHour

MinMin3 = MinMin3 + 6 * TempMin

If MinMin3 > 60 Then

HourMin3 = HourMin3 + 1

MinMin3 = MinMin3 - 60

End If

frmObr.HourMin3.AddItem HourMin3

frmObr.MinMin3.AddItem MinMin3

End Sub

 

frmGrafick

 

Private Sub Command1_Click()

Picture1.Cls

Picture1.Scale (-3, 62)-(90, -8)

Picture1.Line (0, 0)-(80, 0)

Picture1.Line (80, 0)-(78, 2)

Picture1.Line (80, 0)-(78, -2)

For d = 0 To 75 Step 5

Picture1.PSet (d, 0)

Picture1.Print d

Next d

Picture1.Line (0, 0)-(0, 52)

Picture1.Line (0, 52)-(2, 50)

Picture1.Line (0, 52)-(-2, 50)

For d = 0 To 50 Step 5

Picture1.PSet (0, d)

Picture1.Print d

Next d

For Y = 5 To 80 Step 5

Picture1.Line (Y, 0)-(Y, 80), &H8000000B

Next Y

For X = 5 To 50 Step 5

Picture1.Line (0, X)-(80, X), &H8000000B

Next X

t = 0

For i = 0 To 13

Picture1.Line (t, Pokaz1(i))-(t + 5, Pokaz1(i + 1)), &HFF0000

t = t + 5

Next i

t = 0

For i = 0 To 13

Picture1.Line (t, Pokaz2(i))-(t + 5, Pokaz2(i + 1)), &H8E682

t = t + 5

Next i

t = 0

For i = 0 To 13

Picture1.Line (t, Pokaz3(i))-(t + 5, Pokaz3(i + 1)), &H1508E6

t = t + 5

Next i

End Sub

 

 




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