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

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

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

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

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

1.4. ПРОГРАММНЫЙ КОД К ВАРИАНТУ № 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 с.

Наши рекомендации