04.03.2013 Aufrufe

WissenHeute Nr. 06/2004 - Deutsche Telekom Training GmbH ...

WissenHeute Nr. 06/2004 - Deutsche Telekom Training GmbH ...

WissenHeute Nr. 06/2004 - Deutsche Telekom Training GmbH ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Quellcode<br />

'VBA-Programm zur Linearen Regression<br />

Option Explicit<br />

Option Base 1<br />

Dim x(100) As Double<br />

Dim y(100) As Double<br />

Dim zaehler As Integer<br />

Dim wertanzahl As Integer<br />

Private Sub berechnung_Click()<br />

Dim sum_x As Double<br />

Dim sum_y As Double<br />

Dim x_durchschnitt As Double<br />

Dim y_durchschnitt As Double<br />

Dim sum_xxyy As Double<br />

Dim sum_xx As Double<br />

Dim sum_yy As Double<br />

Dim i As Integer<br />

Dim r As Double 'Korrelationskoeffizient<br />

Dim b As Double 'b-Koeffizient<br />

Dim a As Double 'Konstante a<br />

If zaehler < 3 Then<br />

Else<br />

'Verhindern das weitere Werte eingegeben werden<br />

Uebernehmen.Caption = "Neustart"<br />

wertanzahl = zaehler – 1<br />

'Durchschnittswerte ermitteln<br />

For i = 1 To wertanzahl<br />

sum_x = sum_x + x(i)<br />

sum_y = sum_y + y(i)<br />

Next i<br />

x_durchschnitt = sum_x / wertanzahl<br />

y_durchschnitt = sum_y / wertanzahl<br />

'Andere Summen berechnen<br />

For i = 1 To wertanzahl<br />

sum_xxyy = sum_xxyy + (x(i) – x_durchschnitt) *<br />

(y(i) – y_durchschnitt)<br />

sum_xx = sum_xx + (x(i) - x_durchschnitt) ^ 2<br />

sum_yy = sum_yy + (y(i) - y_durchschnitt) ^ 2<br />

Next i<br />

'Korrelationskoeffizient berechnen<br />

r = sum_xxyy / (sum_xx * sum_yy) ^ (1 / 2)<br />

'b-Koeffizient berechnen<br />

b = sum_xxyy / sum_xx<br />

a = y_durchschnitt – b * x_durchschnitt<br />

ergebnis.Caption = "y = " & CStr(b) & " x + " & CStr(a)<br />

End If<br />

End Sub<br />

Public Sub UserForm_Initialize()<br />

zaehler = 1<br />

wertanzahl = 0<br />

x_Wert.Value = ""<br />

y_Wert.Value = ""<br />

<strong>WissenHeute</strong> Jg. 57 6/<strong>2004</strong><br />

Uebernehmen.Caption = CStr(zaehler) & ". Wertepaar übernehmen."<br />

berechnung.TabStop = False<br />

End Sub<br />

Private Sub Uebernehmen_Click()<br />

If Uebernehmen.Caption = "Neustart" Then<br />

Erase x()<br />

Erase y()<br />

zaehler = 1<br />

wertanzahl = 0<br />

ergebnis.Caption = ""<br />

berechnung.Caption = ""<br />

x_Wert.Value = ""<br />

y_Wert.Value = ""<br />

Uebernehmen.Caption = CStr(zaehler) & ". Wertepaar<br />

übernehmen."<br />

berechnung.TabStop = False<br />

Else<br />

If x_Wert.Value = "" Or y_Wert.Value = "" Then<br />

If x_Wert.Value = "" Then<br />

MsgBox "Bitte einen x-Wert eingeben!"<br />

End If<br />

If y_Wert.Value = "" Then<br />

MsgBox "Bitte einen y-Wert eingeben!"<br />

End If<br />

Else<br />

x(zaehler) = CDbl(x_Wert.Value)<br />

y(zaehler) = CDbl(y_Wert.Value)<br />

zaehler = zaehler + 1<br />

x_Wert.Value = ""<br />

y_Wert.Value = ""<br />

End If<br />

If zaehler > 3 Then<br />

berechnung.Caption = "Berechnung starten!"<br />

berechnung.TabStop = True<br />

End If<br />

Uebernehmen.Caption = CStr(zaehler) & ". Wertepaar<br />

übernehmen."<br />

End If<br />

End Sub<br />

335

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!