Скриншоты из программы Microsoft Excel
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 с.
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (556)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |