juanjespar
Goto Top

Array übernahme für Varianz berechnung VB6

Hallo liebes Forum!
ich muss eine Standartabweichung berechnen für ein Project und soll vorab ein Programm schreiben was diese Rechnung erledigt.
Den mittelwert habe ich rausbekommen, nun muss ich noch die Varianz berechnen und dafür mein Array mit übernehmen.
Vlt kann mir jemand helfen.
unten der source (unvollständig)

Option Explicit

Private Sub Command1_Click()
    Dim dblSumme As Double

    dblSumme = add()
    Label1.Caption = CStr(dblSumme)
    Label2.Caption = CStr(quad(dblSumme))
'    Label3.Caption = CStr(wurzel(dblSumme))  
    Label9.Caption = CStr(mittelwert())
    Label12.Caption = CStr(varianz())
    Label4.Caption = CStr(standartabweichung())

End Sub

Private Sub Command2_Click()

    End
    
End Sub

Private Function add() As Double

    Dim i As Integer
    Dim dblSumme As Double
    
    dblSumme = 0
    
    For i = 0 To 9
        dblSumme = dblSumme + CDbl(tbZahl(i).text)
    Next i

    add = dblSumme

End Function

Private Function quad(Number As Double) As Double

    quad = Number ^ 2

End Function

Private Function wurzel() As Double

    'wurzel = Sqr(quad)  

End Function

Private Function mittelwert() As Double

mittelwert = add / 10

End Function

Private Function varianz() As Double

    Dim tbZahl(0 To 9) As Double
    Dim dblRechnung1 As Double
    
    
    dblRechnung = tbZahl
    
    varianz = (dblRechnung1 - mittelwert) ^ 2
    
    
    
    
    

End Function

Private Function standartabweichung() As Double



End Function

Content-Key: 118267

Url: https://administrator.de/contentid/118267

Printed on: May 5, 2024 at 08:05 o'clock

Member: godlie
godlie Jun 16, 2009 at 09:59:13 (UTC)
Goto Top
Hallo,

schon mal was von den code Tags gehört?
Member: JuanJespar
JuanJespar Jun 16, 2009 at 11:32:37 (UTC)
Goto Top
Ja schon (hab gerad net dran gedacht)
aba das hilft mir bei meinem Problem net face-smile
Member: godlie
godlie Jun 16, 2009 at 11:48:10 (UTC)
Goto Top
Hallo,

dir brauchs ja primär nicht helfen aber der Code ist für die, die dir Helfen wollen leichter lesbar.

Function Test1() As Integer()
  Dim a() As Integer

  'Array anlegen und füllen:  
  Redim a(1 To 3)
  a(3) = 5

  'Array zurückgeben:  
  Test1 = a
End Function
Mit dem Schnipsel bekommst aus der Funktion ein Array zurück.

'Funktions-Deklaration:  
Function ArrayAdd(ByRef a() As Long) As Long
  Dim i As Long
  
  For i = LBound(a) To UBound(a)
    ArrayAdd = ArrayAdd + a(i)
  Next i
End Function

'Test-Aufruf:  
Private Sub Form_Click()
  Dim Zahlen(3 To 5) As Long
  
  Zahlen(3) = 7
  Zahlen(4) = -2
  Zahlen(5) = 5
  MsgBox ArrayAdd(Zahlen) 'ergibt 10  
End Sub
Und hier ein Beispiel wie ein Array übergibst und wieder weiterverarbeitest.
Member: JuanJespar
JuanJespar Jun 16, 2009 at 13:20:18 (UTC)
Goto Top
Member: godlie
godlie Jun 16, 2009 at 13:32:12 (UTC)
Goto Top
Tja aus den Fingern zieh ichs mir auch nicht, bin kein VisualBasic Fan.
Member: JuanJespar
JuanJespar Jun 16, 2009 at 14:29:25 (UTC)
Goto Top
Hat ja auch keiner verlangt

trotzdem danke!

habs mitlerweile

Private Sub Command1_Click()

    Dim iLauf As Integer
    Dim dblZahlen(9) As Double
    
    ' Zahlen aus den Textboxen in das Array übertragen  
    On Error Resume Next
    For iLauf = 0 To 9
        dblZahlen(iLauf) = CDbl(tbZahl(iLauf).text)
    Next
    On Error GoTo 0
    
    Label1.Caption = CStr(Summe(dblZahlen))
    Label9.Caption = CStr(Mittelwert(dblZahlen))
    Label12.Caption = CStr(Varianz(dblZahlen))
End Sub


Function Summe(ByRef dblZahlen() As Double) As Double

    Dim iLauf As Integer
    Dim dblTempSumme As Double
    
    dblTempSumme = 0
    For iLauf = LBound(dblZahlen) To UBound(dblZahlen)
        dblTempSumme = dblTempSumme + dblZahlen(iLauf)
    Next iLauf
    
    Summe = dblTempSumme
    
End Function

Function Mittelwert(ByRef dblZahlen() As Double) As Double
    Mittelwert = Summe(dblZahlen) / (UBound(dblZahlen) - LBound(dblZahlen) + 1)
End Function
Function Varianz(ByRef dblZahlen() As Double) As Double

    Dim iLauf As Integer
    Dim dblTempAnzahl As Double
    Dim dblTemp As Double
    
    dblTempAnzahl = 0
    For iLauf = LBound(dblZahlen) To UBound(dblZahlen)
        dblTempAnzahl = (dblZahlen(iLauf) - 12) ^ 2 + dblTempAnzahl
    Next iLauf
    
    dblTemp = dblZahlen(9) - 1
     
    Varianz = dblTempAnzahl / dblTemp
    
End Function
Private Sub Command2_Click()
    End
End Sub