Hi!
I have problem with sqrt.
Code is:
Option Explicit
Dim X As Range
Dim Y As Range
Dim XT As Variant
Dim XTX As Variant
Dim odw As Variant
Dim XTy As Variant
Dim a As Variant
Dim rowY As Long
Dim rowX As Long
Dim rowW As Long
Dim i As Long
Dim colY As Long
Dim nazwa As Variant
Dim colX As Long
Dim yte As Variant
Dim o As Variant
Dim m As Long
Dim ysr As Long
Dim R2 As Long
Dim war As Variant
Dim Su As Variant
Private Sub CommandButton1_Click()
End
End Sub
Sub CommandButton2_Click()
'pierwsze obliczenia
Set X = Range(RefEdit1)
Set Y = Range(RefEdit2)
XT = Application.WorksheetFunction.Transpose(X)
rowX = X.Rows.Count
rowY = Y.Rows.Count
colY = Y.Columns.Count
colX = X.Columns.Count
'warunki
If colY > 1 Or colY < 1 Then
MsgBox ("Liczba kolumn macierzy Y powinna wynosić 1")
End If
If rowX > rowY Or rowX < rowY Then
MsgBox ("Liczba wierszy macierzy Y i X powinna być taka sama")
End
End If
'parametry
XTX = Application.WorksheetFunction.MMult(XT, X)
odw = Application.WorksheetFunction.MInverse(XTX)
XTy = Application.WorksheetFunction.MMult(XT, Y)
a = Application.WorksheetFunction.MMult(odw, XTy)
yte = Application.WorksheetFunction.Transpose(Application.WorksheetFunction.MMult(Application.WorksheetFunction.Transpose(a), XT))
ysr = Application.WorksheetFunction.Average(Y)
'R2
ReDim diff(1 To rowY, 1 To colY)
For m = 1 To rowY
diff(m, 1) = ((Y(m, 1) - yte(m, 1)) ^ 2)
Next m
ReDim diff2(1 To rowY, 1 To colY)
For m = 1 To rowY
diff2(m, 1) = (Y(m, 1) - ysr) ^ 2
Next m
o = Application.WorksheetFunction.Sum(diff) / Application.WorksheetFunction.Sum(diff2)
R2 = 1 - o
'Odchylenie
war = Application.WorksheetFunction.Sum(diff) / (rowX - colX)
Su = war^(1 / 2)
'Wyniki
Sheets.Add
ActiveSheet.Name = "Wyniki KMNK"
Range("A1").Value = "Parametry: "
Range(Cells(2, 1), Cells(colX + 1, 1)).Select
Selection.Value = a
Range("C1").Value = "Y^"
Range(Cells(2, 3), Cells(colY + 1, 3)).Select
Selection.Value = yte
Range("F1").Value = "R2: współczynnik determinacji"
Range("H1").Value = R2
Range("F2").Value = "Su: odchylenie standardowe"
Range("H2").Value = Su
End Sub
Error: Type declaration character does not much declared data type.
It is about war variable.
Please help
Bookmarks