You are on page 1of 2

Sub minimos_cuadrados()

Dim N, X(), FX(), I, M, A(), J, SS(), S(), B(), XX As Double

'Entrada de datos
N = Cells(3, 2)
M = Cells(2, 2)

ReDim X(M), FX(M)

For I = 1 To M
X(I) = Cells(6 + I, 2)
FX(I) = Cells(6 + I, 3)
Next I

'Proceso
ReDim SS(N), S(N + N + -1), B(N + 1, N + 1)

J = 0
While J <= (2 * N - 1)
If J <= N Then
SS(J) = 0
End If
S(J) = 0
J = J + 1
Wend

I = 1

While I <= M
XX = 1
J = 0
While J <= (2 * N - 1)
If J <= N Then
SS(J) = SS(J) + XX * FX(I)
End If
XX = XX * X(I)
S(J) = S(J) + XX
J = J + 1
Wend
I = I + 1
Wend

B(0, 0) = M
Cells(6, 6) = B(0, 0)
I = 0
While I <= N
J = 0
While J <= N
If I = 0 And J = 0 Then
Else
B(I, J) = S(J - 1 + I)
Cells(6 + I, 6 + J) = B(I, J)
End If
J = J + 1
Wend
B(I, N + 1) = SS(I)
Cells(6 + I, 6 + N + 1) = B(I, N + 1)
I = I + 1
Wend

'Resultado

End Sub

You might also like