Vous êtes sur la page 1sur 23

Metodo de los Minimos

Cuadrados
2 Minimos Cuadrados.nb

Dada la siguiente tabla de valores donde la primer columna corresponde a los valores de x y la
segunda a los valores de la funcin y = f(x)
Graficar la nube de puntos.

Determinar la recta de aproximacin y=a0x+a1 por el mtodo de mnimos cuadrados y


calcular el grado de ajuste (R2) de la misma a la nube de puntos. Graficar conjuntamente la
recta y la nube de puntos.

Determinar la parbola de aproximacin y=a0x2+a1x+a2 por el mtodo de mnimos


cuadrados y calcular el grado de ajuste (R2) de la misma a la nube de puntos. Graficar
conjuntamente la parbola y la nube de puntos.

Determinar la parbola cbica de aproximacin y=a0x3+a1x2+a2x+a3 por el mtodo de


mnimos cuadrados y calcular el grado de ajuste (R2) de la misma a la nube de puntos.
Graficar conjuntamente la parbola cbica y la nube de puntos

Determinar el polinomio de grado cuarto de aproximacin y=a0x4+a1x3+a2x2+a3x+a4 por el


mtodo de mnimos cuadrados y calcular el grado de ajuste (R2) del mismo a la nube de
puntos. Graficar conjuntamente el polinomio y la nube de puntos.

Si el grado de ajuste obtenido hasta ahora es R2<0,8 continuar el ajuste incrementando el


grado del polinomio (grado 5, grado 6) hasta obtener un ajuste R20,8

Para los items b) a f) anteriores determinar la ecuacin de la recta tangente en el sptimo


punto de la tabla (P7) y graficarla junto a la nube de puntos y el polinomio correspondiente.
Minimos Cuadrados.nb 3

A. Graficar la nube de puntos.


P1 = (0 ; 14.0579)
P2 = (0.3 ; 16.9514)
P3 = (0.6 ; 18.834)
P4 = (0.9 ; 19.0483)
P5 = (1.2 ; 17.5192)
P6 = (1.5 ; 14.7811)
P7 = (1.8 ; 11.7902)
P8 = (2.1 ; 9.5916)
P9 = (2.4 ; 8.95315)
P10 = (2.7 ; 10.0979)
P11 = (3 ; 12.6261)
P12 = (3.3 ; 15.6544)
P13 = (3.6 ; 18.125)
P14 = (3.9 ; 19.1748)
P15 = (4.2 ; 18.4372)
P16 = (4.5 ; 16.1698)
P17 = (4.8 ; 13.1646)
P1 := {0, 14.0579}
P2 := {0.3, 16.9514}
P3 := {0.6, 18.834}
P4 := {0.9, 19.0483}
P5 := {1.2, 17.5192}
P6 := {1.5, 14.7811}
P7 := {1.8, 11.7902}
P8 := {2.1, 9.5916}
P9 := {2.4, 8.95315}
P10 := {2.7, 10.0979}
P11 := {3, 12.6261}
P12 := {3.3, 15.6544}
P13 := {3.6, 18.125}
P14 := {3.9, 19.1748}
P15 := {4.2, 18.4372}
P16 := {4.5, 16.1698}
P17 := {4.8, 13.1646}
Points := {P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17}

Ahora procedemos a graficar la nube de puntos


4 Minimos Cuadrados.nb

PointsG = ListPlot[Points, PlotStyle Orange]


representacin de lista estilo de repre naranja
20

15

10

1 2 3 4
Minimos Cuadrados.nb 5

B. Determinar la recta de aproximacin y=a0x+a1 por el mtodo de mnimos cuadrados y calcular


el grado de ajuste (R2) de la misma a la nube de puntos. Graficar conjuntamente la recta y la nube de
puntos.
Determinaremos la ecuacion, de la recta a+bx=y tal que los errores se optimizen. Para esto defini-
mos una matriz A y una matriz Y tal que:
P1 y
1 P1 x P2 y
1 P2 x P3 y
1 P3 x P4 y
1 P4 x
P5 y
1 P5 x
P6 y
1 P6 x
P7 y
1 P7 x
1 P8 x P8 y
A= 1 P9 x Y= P9 y
1 P10 x P10 y
1 P11 x P11 y
1 P12 x P12 y
1 P13 x P13 y
1 P14 x P14 y
1 P15 x P15 y
1 P16 x
P16 y
1 P17 x
P17 y

Ahora, ingresamos las matrices al programa

A := {{1, P1[[1]]}, {1, P2[[1]]}, {1, P3[[1]]}, {1, P4[[1]]},


{1, P5[[1]]}, {1, P6[[1]]}, {1, P7[[1]]}, {1, P8[[1]]}, {1, P9[[1]]},
{1, P10[[1]]}, {1, P11[[1]]}, {1, P12[[1]]}, {1, P13[[1]]},
{1, P14[[1]]}, {1, P15[[1]]}, {1, P16[[1]]}, {1, P17[[1]]}}

B := {{ P1[ [2]]}, { P2[ [2]]}, { P3[ [2]]}, { P4[ [2]]},


{ P5[ [2]]}, { P6[ [2]]}, { P7[ [2]]}, { P8[ [2]]}, { P9[ [2]]},
{ P10[ [2]]}, { P11[ [2]]}, { P12[ [2]]}, { P13[ [2]]},
{ P14[ [2]]}, { P15[ [2]]}, { P16[ [2]]}, { P17[ [2]]}}
-1
Definimos Dos matrices mas: At = At y Mc = At A

At := Transpose[A]
transposicin

Mc := Inverse[At.A]
matriz inversa

a
Ahora encontraremos el vector s tal que
s=
b

s = Mc.At.B // MatrixForm
forma de matriz

15.1387
- 0.0583717
6 Minimos Cuadrados.nb

Ahora crearemos la funcion de la recta, a partir de los valores a y b obtenidos la denotaremos como
r[x]

a := s[[1, 1]]

b := s[[1, 2]]

r[x_] := a + b * x

La recta de aproximacion es: 15.1387 - 0.0583717 x

Ahora crearemos una tabla t1 la cual contendra los valores necesacior para calcular el grado de
regrecion

Ta := Table
tabla
"P" <> ToString[i], Points[[i, 1]], Points[[i, 2]], r[Points[[i, 1]]][[1]],
convierte a cadena de caracteres
Points[[i, 2]] - r[Points[[i, 1]]] ^ 2[[1]], Points[[i, 2]] ^ 2, {i, 17}

titles := " ", "X", "Y", "f(x)", "(y-f(x))2 =Ri2 ", "y2 "

Summation := "", Sum[Points[[i, 1]], {i, 1, 17}], Sum[Points[[i, 2]], {i, 1, 17}],
suma suma
"------", SumPoints[[i, 2]] - r[Points[[i, 1]]] ^ 2, {i, 1, 17}[[1]],
suma
Sum[Points[[i, 2]] ^ 2, {i, 1, 17}]
suma

FullTable := {titles, Ta[[1]], Ta[[2]], Ta[[3]], Ta[[4]], Ta[[5]],


Ta[[6]], Ta[[7]], Ta[[8]], Ta[[9]], Ta[[10]], Ta[[11]], Ta[[12]],
Ta[[13]], Ta[[14]], Ta[[15]], Ta[[16]], Ta[[17]], Summation}
Minimos Cuadrados.nb 7

Grid[FullTable, Background {None, {LightRed, {LightBlue}}},


rejilla fondo de imagen ninguno rojo claro azul claro
Frame True, Dividers {{2 -> Black}, {2 Black, 19 Black}},
marco verd separadores negro negro negro
Alignment Center, Spacings {2, {2, {1}, 2}}]
alineamiento centro espaciados

X Y f(x) (y-f(x))2 =Ri2 y2


P1 0 14.0579 15.1387 1.16817 197.625
P2 0.3 16.9514 15.1212 3.34961 287.35
P3 0.6 18.834 15.1037 13.9152 354.72
P4 0.9 19.0483 15.0862 15.6984 362.838
P5 1.2 17.5192 15.0687 6.00508 306.922
P6 1.5 14.7811 15.0512 0.072933 218.481
P7 1.8 11.7902 15.0336 10.52 139.009
P8 2.1 9.5916 15.0161 29.4256 91.9988
P9 2.4 8.95315 14.9986 36.5478 80.1589
P10 2.7 10.0979 14.9811 23.8458 101.968
P11 3 12.6261 14.9636 5.46392 159.418
P12 3.3 15.6544 14.9461 0.5017 245.06
P13 3.6 18.125 14.9286 10.2171 328.516
P14 3.9 19.1748 14.9111 18.1794 367.673
P15 4.2 18.4372 14.8936 12.5574 339.93
P16 4.5 16.1698 14.876 1.6738 261.462
P17 4.8 13.1646 14.8585 2.86941 173.307
40.8 254.977 ------ 192.011 4016.44

Ri2 ( y) 2
Calcularemos la Varianza Residual Se2 = y 2
y la varianza de y: Sy2 = n+1 -
n+1 n+1

Se = Summation[[5]] Length[Points] + 1
longitud

10.6673

Sy = Summation[[6]] Length[Points] + 1 -
longitud
Summation[[3]] Length[Points] + 1 ^ 2
longitud

22.4776

Se2
Ahora calcularemos el grado de ajuste como: R2 =1 -
Sy2

R = 1 - Se / Sy
0.525426

El grado de ajuste es: 0.525426

Ahora graficaremos la recta y la nube de puntos


8 Minimos Cuadrados.nb

R1G := Plot[r[x], {x, - 1, 5}, PlotStyle Red]


representacin grfica estilo de repre rojo

Show[PointsG, R1G]
muestra
20

15

10

1 2 3 4
Minimos Cuadrados.nb 9

C. Determinar la parbola de aproximacin y=a0x2+a1x+a2 por el mtodo de mnimos cuadrados


y calcular el grado de ajuste (R2) de la misma a la nube de puntos. Graficar conjuntamente la
parbola y la nube de puntos.
Determinaremos la ecuacion, de la parabola a+bx+cx2 =y tal que los errores se optimizen. Para esto
definimos una matriz A y una matriz Y tal que:
P1 y
1 P1 x P1 x 2 P2 y
1 P2 x P2 x 2 P3 y
1 P3 x P3 x 2
P4 y
1 P4 x P4 x 2
P5 y
1 P5 x P5 x 2
P6 y
1 P6 x P6 x 2
P7 y
1 P7 x P7 x 2
1 P8 x P8 x 2
P8 y
A= 1 P9 x P9 x 2 Y= P9 y
1 P10 x P10 x 2 P10 y
1 P11 x P11 x 2 P11 y
1 P12 x P12 x 2 P12 y
1 P13 x P13 x 2 P13 y
1 P14 x P14 x 2 P14 y
1 P15 x P15 x 2 P15 y
1 P16 x P16 x 2
P16 y
1 P17 x P17 x 2
P17 y

Ahora, ingresamos las matrices al programa

A2 := {{1, P1[[1]] , P1[[1]] ^ 2}, {1, P2[[1]], P2[[1]] ^ 2},


{1, P3[[1]], P3[[1]] ^ 2}, {1, P4[[1]], P4[[1]] ^ 2}, {1, P5[[1]], P5[[1]] ^ 2},
{1, P6[[1]], P6[[1]] ^ 2}, {1, P7[[1]], P7[[1]] ^ 2}, {1, P8[[1]], P8[[1]] ^ 2},
{1, P9[[1]], P9[[1]] ^ 2}, {1, P10[[1]], P10[[1]] ^ 2}, {1, P11[[1]], P11[[1]] ^ 2},
{1, P12[[1]], P12[[1]] ^ 2}, {1, P13[[1]], P13[[1]] ^ 2},
{1, P14[[1]], P14[[1]] ^ 2}, {1, P15[[1]], P15[[1]] ^ 2},
{1, P16[[1]], P16[[1]] ^ 2}, {1, P17[[1]], P17[[1]] ^ 2}}

B2 := {{ P1[ [2]]}, { P2[ [2]]}, { P3[ [2]]}, { P4[ [2]]},


{ P5[ [2]]}, { P6[ [2]]}, { P7[ [2]]}, { P8[ [2]]}, { P9[ [2]]},
{ P10[ [2]]}, { P11[ [2]]}, { P12[ [2]]}, { P13[ [2]]},
{ P14[ [2]]}, { P15[ [2]]}, { P16[ [2]]}, { P17[ [2]]}}
-1
Definimos Dos matrices mas: At = At y Mc = At A

At2 := Transpose[A2]
transposicin

Mc2 := Inverse[At2.A2]
matriz inversa

a
Ahora encontraremos el vector s tal que
s=
b
10 Minimos Cuadrados.nb

s2 = Mc2.At2.B2 // MatrixForm
forma de matriz
17.7428
- 3.53041
0.723342

Ahora crearemos la funcion de la recta, a partir de los valores a y b obtenidos la denotaremos como
r[x]

a2 := s2[[1, 1]]

b2 := s2[[1, 2]]

c2 := s2[[1, 3]]

p[x_] := a2 + b2 * x + c2 * x ^ 2

La parabola de aproximacion es: 17.7428 - 3.53041 x + 0.723342 x2

Ahora crearemos una tabla t1 la cual contendra los valores necesacior para calcular el grado de
regrecion

Ta2 := Table
tabla
"P" <> ToString[i], Points[[i, 1]], Points[[i, 2]], p[Points[[i, 1]]][[1]],
convierte a cadena de caracteres
Points[[i, 2]] - p[Points[[i, 1]]] ^ 2[[1]], Points[[i, 2]] ^ 2, {i, 17}

Summation2 :=
"", Sum[Points[[i, 1]], {i, 1, 17}], Sum[Points[[i, 2]], {i, 1, 17}],
suma suma
"------", SumPoints[[i, 2]] - p[Points[[i, 1]]] ^ 2, {i, 1, 17}[[1]],
suma
Sum[Points[[i, 2]] ^ 2, {i, 1, 17}]
suma

FullTable2 := {titles, Ta2[[1]], Ta2[[2]], Ta2[[3]], Ta2[[4]], Ta2[[5]],


Ta2[[6]], Ta2[[7]], Ta2[[8]], Ta2[[9]], Ta2[[10]], Ta2[[11]], Ta2[[12]],
Ta2[[13]], Ta2[[14]], Ta2[[15]], Ta2[[16]], Ta2[[17]], Summation2}
Minimos Cuadrados.nb 11

Grid[FullTable2, Background {None, {LightRed, {LightBlue}}},


rejilla fondo de imagen ninguno rojo claro azul claro
Frame True, Dividers {{2 -> Black}, {2 Black, 19 Black}},
marco verd separadores negro negro negro
Alignment Center, Spacings {2, {2, {1}, 2}}]
alineamiento centro espaciados

X Y f(x) (y-f(x))2 =Ri2 y2


P1 0 14.0579 17.7428 13.5781 197.625
P2 0.3 16.9514 16.7487 0.0410764 287.35
P3 0.6 18.834 15.8849 8.69716 354.72
P4 0.9 19.0483 15.1513 15.1867 362.838
P5 1.2 17.5192 14.5479 8.82882 306.922
P6 1.5 14.7811 14.0746 0.499073 218.481
P7 1.8 11.7902 13.7316 3.76917 139.009
P8 2.1 9.5916 13.5188 15.4231 91.9988
P9 2.4 8.95315 13.4362 20.0978 80.1589
P10 2.7 10.0979 13.4838 11.4643 101.968
P11 3 12.6261 13.6616 1.07223 159.418
P12 3.3 15.6544 13.9696 2.83862 245.06
P13 3.6 18.125 14.4078 13.8178 328.516
P14 3.9 19.1748 14.9762 17.6285 367.673
P15 4.2 18.4372 15.6748 7.63104 339.93
P16 4.5 16.1698 16.5036 0.111399 261.462
P17 4.8 13.1646 17.4626 18.4725 173.307
40.8 254.977 ------ 159.157 4016.44

Ri2 ( y) 2
Calcularemos la Varianza Residual Se2 = y 2
y la varianza de y: Sy2 = n+1 -
n+1 n+1

Se2 = Summation2[[5]] Length[Points] + 1


longitud

8.84208

Sy2 = Summation2[[6]] Length[Points] + 1 -


longitud
Summation2[[3]] Length[Points] + 1 ^ 2
longitud

22.4776

Se2
Ahora calcularemos el grado de ajuste como: R2 =1 -
Sy2

R2 = 1 - Se2 Sy2
0.606628

El grado de ajuste es: 0.606628

Ahora graficaremos la recta y la nube de puntos


12 Minimos Cuadrados.nb

P2G := Plot[p[x], {x, - 1, 5}, PlotStyle Red]


representacin grfica estilo de repre rojo

Show[PointsG, P2G]
muestra
20

15

10

1 2 3 4
Minimos Cuadrados.nb 13

C. Determinar la parbola de aproximacin y=a0x2+a1x+a2 por el mtodo de mnimos cuadrados


y calcular el grado de ajuste (R2) de la misma a la nube de puntos. Graficar conjuntamente la
parbola y la nube de puntos.
Determinaremos la ecuacion, de la parabola a+bx+cx2 =y tal que los errores se optimizen. Para esto
definimos una matriz A y una matriz Y tal que:
P1 y
1 P1 x P1 x 2 P1 x 3 P2 y
1 P2 x P2 x 2 P2 x 3 P3 y
1 P3 x P3 x 2
P3 x 3
P4 y
1 P4 x P4 x 2
P4 x 3
P5 y
1 P5 x P5 x 2
P5 x 3
P6 y
1 P6 x P6 x 2 P6 x 3
P7 y
1 P7 x P7 x 2
P7 x 3
1 P8 x P8 x 2
P8 x 3
P8 y
A= 1 P9 x P9 x 2
P9 x 3 Y= P9 y
1 P10 x P10 x 2 P10 x 3 P10 y
1 P11 x P11 x 2 P11 x 3 P11 y
1 P12 x P12 x 2 P12 x 3 P12 y
1 P13 x P13 x 2 P13 x 3 P13 y
1 P14 x P14 x 2 P14 x 3 P14 y
1 P15 x P15 x 2 P15 x 3 P15 y
1 P16 x P16 x 2 P16 x 3
P16 y
1 P17 x P17 x 2 P17 x 3
P17 y

Ahora, ingresamos las matrices al programa

A3 := {{1, P1[[1]] , P1[[1]] ^ 2, P1[[1]] ^ 3},


{1, P2[[1]], P2[[1]] ^ 2, P2[[1]] ^ 3}, {1, P3[[1]], P3[[1]] ^ 2, P3[[1]] ^ 3},
{1, P4[[1]], P4[[1]] ^ 2, P4[[1]] ^ 3}, {1, P5[[1]], P5[[1]] ^ 2, P5[[1]] ^ 3},
{1, P6[[1]], P6[[1]] ^ 2, P6[[1]] ^ 3}, {1, P7[[1]], P7[[1]] ^ 2, P7[[1]] ^ 3},
{1, P8[[1]], P8[[1]] ^ 2, P8[[1]] ^ 3}, {1, P9[[1]], P9[[1]] ^ 2, P9[[1]] ^ 3},
{1, P10[[1]], P10[[1]] ^ 2, P10[[1]] ^ 3}, {1, P11[[1]], P11[[1]] ^ 2, P11[[1]] ^ 3},
{1, P12[[1]], P12[[1]] ^ 2, P12[[1]] ^ 3}, {1, P13[[1]], P13[[1]] ^ 2, P13[[1]] ^ 3},
{1, P14[[1]], P14[[1]] ^ 2, P14[[1]] ^ 3}, {1, P15[[1]], P15[[1]] ^ 2, P15[[1]] ^ 3},
{1, P16[[1]], P16[[1]] ^ 2, P16[[1]] ^ 3}, {1, P17[[1]], P17[[1]] ^ 2, P17[[1]] ^ 3}}

B3 := {{ P1[ [2]]}, { P2[ [2]]}, { P3[ [2]]}, { P4[ [2]]},


{ P5[ [2]]}, { P6[ [2]]}, { P7[ [2]]}, { P8[ [2]]}, { P9[ [2]]},
{ P10[ [2]]}, { P11[ [2]]}, { P12[ [2]]}, { P13[ [2]]},
{ P14[ [2]]}, { P15[ [2]]}, { P16[ [2]]}, { P17[ [2]]}}
-1
Definimos Dos matrices mas: At = At y Mc = At A

At3 := Transpose[A3]
transposicin

Mc3 := Inverse[At3.A3]
matriz inversa
14 Minimos Cuadrados.nb

a
Ahora encontraremos el vector s tal que
s=
b

s3 = Mc3.At3.B3 // MatrixForm
forma de matriz
18.2467
- 5.02035
1.52331
- 0.111106

El polinomio de 3 grado de aproximacion es: 18.2467 - 5.02035 x + 1.52331 x2 - 0.111106 x3

Ahora crearemos la funcion de la recta, a partir de los valores a y b obtenidos la denotaremos como
r[x]

a3 := s3[[1, 1]]

b3 := s3[[1, 2]]

c3 := s3[[1, 3]]

d3 := s3[[1, 4]]

p3[x_] := a3 + b3 * x + c3 * x ^ 2 + d3 * x ^ 3

Ahora crearemos una tabla t1 la cual contendra los valores necesacior para calcular el grado de
regrecion

Ta3 := Table
tabla
"P" <> ToString[i], Points[[i, 1]], Points[[i, 2]], p3[Points[[i, 1]]][[1]],
convierte a cadena de caracteres
Points[[i, 2]] - p3[Points[[i, 1]]] ^ 2[[1]], Points[[i, 2]] ^ 2, {i, 17}

Summation3 :=
"", Sum[Points[[i, 1]], {i, 1, 17}], Sum[Points[[i, 2]], {i, 1, 17}],
suma suma
"------", SumPoints[[i, 2]] - p3[Points[[i, 1]]] ^ 2, {i, 1, 17}[[1]],
suma
Sum[Points[[i, 2]] ^ 2, {i, 1, 17}]
suma

FullTable3 := {titles, Ta3[[1]], Ta3[[2]], Ta3[[3]], Ta3[[4]], Ta3[[5]],


Ta3[[6]], Ta3[[7]], Ta3[[8]], Ta3[[9]], Ta3[[10]], Ta3[[11]], Ta3[[12]],
Ta3[[13]], Ta3[[14]], Ta3[[15]], Ta3[[16]], Ta3[[17]], Summation3}
Minimos Cuadrados.nb 15

Grid[FullTable3, Background {None, {LightRed, {LightBlue}}},


rejilla fondo de imagen ninguno rojo claro azul claro
Frame True, Dividers {{2 -> Black}, {2 Black, 19 Black}},
marco verd separadores negro negro negro
Alignment Center, Spacings {2, {2, {1}, 2}}]
alineamiento centro espaciados

X Y f(x) (y-f(x))2 =Ri2 y2


P1 0 14.0579 18.2467 17.5463 197.625
P2 0.3 16.9514 16.8747 0.00587967 287.35
P3 0.6 18.834 15.7589 9.45617 354.72
P4 0.9 19.0483 14.8813 17.3639 362.838
P5 1.2 17.5192 14.2239 10.8591 306.922
P6 1.5 14.7811 13.7687 1.02503 218.481
P7 1.8 11.7902 13.4976 2.91537 139.009
P8 2.1 9.5916 13.3928 14.4493 91.9988
P9 2.4 8.95315 13.4362 20.0978 80.1589
P10 2.7 10.0979 13.6098 12.3334 101.968
P11 3 12.6261 13.8956 1.61157 159.418
P12 3.3 15.6544 14.2756 1.90118 245.06
P13 3.6 18.125 14.7318 11.5141 328.516
P14 3.9 19.1748 15.2462 15.4342 367.673
P15 4.2 18.4372 15.8008 6.95081 339.93
P16 4.5 16.1698 16.3776 0.0431689 261.462
P17 4.8 13.1646 16.9586 14.3944 173.307
40.8 254.977 ------ 157.902 4016.44

Ri2 ( y) 2
Calcularemos la Varianza Residual Se2 = y 2
y la varianza de y: Sy2 = n+1 -
n+1 n+1

Se3 = Summation3[[5]] Length[Points] + 1


longitud

8.77231

Sy3 = Summation3[[6]] Length[Points] + 1 -


longitud
Summation3[[3]] Length[Points] + 1 ^ 2
longitud

22.4776

Se2
Ahora calcularemos el grado de ajuste como: R2 =1 -
Sy2

R3 = 1 - Se3 Sy3
0.609731

El grado de ajuste es: 0.609731

Ahora graficaremos la recta y la nube de puntos


16 Minimos Cuadrados.nb

P3G := Plot[p3[x], {x, - 1, 5}, PlotStyle Red]


representacin grfica estilo de repre rojo

Show[PointsG, P3G]
muestra
20

15

10

1 2 3 4
Minimos Cuadrados.nb 17

C. Determinar la parbola de aproximacin y=a0x2+a1x+a2 por el mtodo de mnimos cuadrados


y calcular el grado de ajuste (R2) de la misma a la nube de puntos. Graficar conjuntamente la
parbola y la nube de puntos.
Determinaremos la ecuacion, de la parabola a+bx+cx2 =y tal que los errores se optimizen. Para esto
definimos una matriz A y una matriz Y tal que:
P1 y
1 P1 x P1 x 2 P1 x 3 P2 y
1 P2 x P2 x 2 P2 x 3 P3 y
1 P3 x P3 x 2
P3 x 3
P4 y
1 P4 x P4 x 2
P4 x 3
P5 y
1 P5 x P5 x 2
P5 x 3
P6 y
1 P6 x P6 x 2 P6 x 3
P7 y
1 P7 x P7 x 2
P7 x 3
1 P8 x P8 x 2
P8 x 3
P8 y
A= 1 P9 x P9 x 2
P9 x 3 Y= P9 y
1 P10 x P10 x 2 P10 x 3 P10 y
1 P11 x P11 x 2 P11 x 3 P11 y
1 P12 x P12 x 2 P12 x 3 P12 y
1 P13 x P13 x 2 P13 x 3 P13 y
1 P14 x P14 x 2 P14 x 3 P14 y
1 P15 x P15 x 2 P15 x 3 P15 y
1 P16 x P16 x 2 P16 x 3
P16 y
1 P17 x P17 x 2 P17 x 3
P17 y

Ahora, ingresamos las matrices al programa

A4 := {{1, P1[[1]] , P1[[1]] ^ 2, P1[[1]] ^ 3, P1[[1]] ^ 4},


{1, P2[[1]], P2[[1]] ^ 2, P2[[1]] ^ 3, P2[[1]] ^ 4},
{1, P3[[1]], P3[[1]] ^ 2, P3[[1]] ^ 3, P3[[1]] ^ 4},
{1, P4[[1]], P4[[1]] ^ 2, P4[[1]] ^ 3, P4[[1]] ^ 4},
{1, P5[[1]], P5[[1]] ^ 2, P5[[1]] ^ 3, P5[[1]] ^ 4},
{1, P6[[1]], P6[[1]] ^ 2, P6[[1]] ^ 3, P6[[1]] ^ 4},
{1, P7[[1]], P7[[1]] ^ 2, P7[[1]] ^ 3, P7[[1]] ^ 4},
{1, P8[[1]], P8[[1]] ^ 2, P8[[1]] ^ 3, P8[[1]] ^ 4},
{1, P9[[1]], P9[[1]] ^ 2, P9[[1]] ^ 3, P9[[1]] ^ 4},
{1, P10[[1]], P10[[1]] ^ 2, P10[[1]] ^ 3, P10[[1]] ^ 4},
{1, P11[[1]], P11[[1]] ^ 2, P11[[1]] ^ 3, P11[[1]] ^ 4},
{1, P12[[1]], P12[[1]] ^ 2, P12[[1]] ^ 3, P12[[1]] ^ 4},
{1, P13[[1]], P13[[1]] ^ 2, P13[[1]] ^ 3, P13[[1]] ^ 4},
{1, P14[[1]], P14[[1]] ^ 2, P14[[1]] ^ 3, P14[[1]] ^ 4},
{1, P15[[1]], P15[[1]] ^ 2, P15[[1]] ^ 3, P15[[1]] ^ 4},
{1, P16[[1]], P16[[1]] ^ 2, P16[[1]] ^ 3, P16[[1]] ^ 4},
{1, P17[[1]], P17[[1]] ^ 2, P17[[1]] ^ 3, P17[[1]] ^ 4}}
18 Minimos Cuadrados.nb

B4 := {{ P1[ [2]]}, { P2[ [2]]}, { P3[ [2]]}, { P4[ [2]]},


{ P5[ [2]]}, { P6[ [2]]}, { P7[ [2]]}, { P8[ [2]]}, { P9[ [2]]},
{ P10[ [2]]}, { P11[ [2]]}, { P12[ [2]]}, { P13[ [2]]},
{ P14[ [2]]}, { P15[ [2]]}, { P16[ [2]]}, { P17[ [2]]}}
-1
Definimos Dos matrices mas: At = At y Mc = At A

At4 := Transpose[A4]
transposicin

Mc4 := Inverse[At4.A4]
matriz inversa

a
Ahora encontraremos el vector s tal que
s=
b

s4 = Mc4.At4.B4 // MatrixForm
forma de matriz
13.4223
22.6066
- 26.2239
9.05207
- 0.954498

Ahora crearemos la funcion de la recta, a partir de los valores a y b obtenidos la denotaremos como
r[x]

a4 := s4[[1, 1]]

b4 := s4[[1, 2]]

c4 := s4[[1, 3]]

d4 := s4[[1, 4]]

e4 := s4[[1, 5]]

p4[x_] := a4 + b4 * x + c4 * x ^ 2 + d4 * x ^ 3 + e4 * x ^ 4

El polinomio de 4 grado de aproximacion es:


13.4223 + 22.6066 x - 26.2239 x2 + 9.05207 x3 - 0.954498 x4

Ahora crearemos una tabla t1 la cual contendra los valores necesacior para calcular el grado de
regrecion

Ta4 := Table
tabla
"P" <> ToString[i], Points[[i, 1]], Points[[i, 2]], p4[Points[[i, 1]]][[1]],
convierte a cadena de caracteres
Points[[i, 2]] - p4[Points[[i, 1]]] ^ 2[[1]], Points[[i, 2]] ^ 2, {i, 17}

Summation4 :=
"", Sum[Points[[i, 1]], {i, 1, 17}], Sum[Points[[i, 2]], {i, 1, 17}],
suma suma
"------", SumPoints[[i, 2]] - p4[Points[[i, 1]]] ^ 2, {i, 1, 17}[[1]],
suma
Sum[Points[[i, 2]] ^ 2, {i, 1, 17}]
suma
Minimos Cuadrados.nb 19

FullTable4 := {titles, Ta4[[1]], Ta4[[2]], Ta4[[3]], Ta4[[4]], Ta4[[5]],


Ta4[[6]], Ta4[[7]], Ta4[[8]], Ta4[[9]], Ta4[[10]], Ta4[[11]], Ta4[[12]],
Ta4[[13]], Ta4[[14]], Ta4[[15]], Ta4[[16]], Ta4[[17]], Summation4}

Grid[FullTable4, Background {None, {LightRed, {LightBlue}}},


rejilla fondo de imagen ninguno rojo claro azul claro
Frame True, Dividers {{2 -> Black}, {2 Black, 19 Black}},
marco verd separadores negro negro negro
Alignment Center, Spacings {2, {2, {1}, 2}}]
alineamiento centro espaciados

X Y f(x) (y-f(x))2 =Ri2 y2


P1 0 14.0579 13.4223 0.40397 197.625
P2 0.3 16.9514 18.0808 1.2756 287.35
P3 0.6 18.834 19.3772 0.295089 354.72
P4 0.9 19.0483 18.4996 0.301064 362.838
P5 1.2 17.5192 16.4505 1.14205 306.922
P6 1.5 14.7811 14.047 0.53891 218.481
P7 1.8 11.7902 11.9204 0.0169605 139.009
P8 2.1 9.5916 10.5167 0.855871 91.9988
P9 2.4 8.95315 10.0962 1.30663 80.1589
P10 2.7 10.0979 10.7337 0.40424 101.968
P11 3 12.6261 12.3184 0.0947009 159.418
P12 3.3 15.6544 14.5539 1.21111 245.06
P13 3.6 18.125 16.9584 1.36093 328.516
P14 3.9 19.1748 18.8645 0.0963063 367.673
P15 4.2 18.4372 19.4191 0.964071 339.93
P16 4.5 16.1698 17.5837 1.99904 261.462
P17 4.8 13.1646 12.1342 1.06178 173.307
40.8 254.977 ------ 13.3283 4016.44

Ri2 ( y) 2
Calcularemos la Varianza Residual Se2 = y 2
y la varianza de y: Sy2 = n+1 -
n+1 n+1

Se4 = Summation4[[5]] Length[Points] + 1


longitud

0.740462

Sy4 = Summation4[[6]] Length[Points] + 1 -


longitud
Summation4[[3]] Length[Points] + 1 ^ 2
longitud

22.4776

Se2
Ahora calcularemos el grado de ajuste como: R2 =1 -
Sy2

R4 = 1 - Se4 / Sy4
0.967058
20 Minimos Cuadrados.nb

El grado de ajuste es: 0.967058

Ahora graficaremos la recta y la nube de puntos

P4G := Plot[p4[x], {x, - 1, 5}, PlotStyle Red]


representacin grfica estilo de repre rojo

Show[PointsG, P4G]
muestra
20

15

10

1 2 3 4
Minimos Cuadrados.nb 21

G. Para los items b) a f) anteriores determinar la ecuacin de la recta tangente en el


sptimo punto de la tabla (P7) y graficarla junto a la nube de puntos y el polinomio
correspondiente.

Recta de aproximacion
Determinatemos la ecuacion de la recta tangente al Punto 7, usaremos como pendiente la derivada
de la recta de aproximacion y sabiendo que la recta que pasa por un puntos es : y - y0 = m(x - x0 )

tg1[x_] := r '[P7[[1]]] * x - P7[[1]] + P7[[2]]

Ahora graficaremos conjuntamente ambas rectas y la nube de puntos

tg1G := Plot[tg1[x], {x, 0, 5}]


representacin grfica

Show[PointsG, R1G, tg1G]


muestra

20
Nube de Puntos

Recta de Aproximacion
15

Recta Tangente

10

1 2 3 4

Parabola de aproximacion
Determinatemos la ecuacion de la recta tangente al Punto 7, usaremos como pendiente la derivada
de la parabola de aproximacion y sabiendo que la recta que pasa por un puntos es : y - y0 = m(x -
x0 )

tg2[x_] := p '[P7[[1]]] * x - P7[[1]] + P7[[2]]

Ahora graficaremos conjuntamente ambas rectas y la nube de puntos

tg2G := Plot[tg2[x], {x, 0, 5}]


representacin grfica

Show[PointsG, P2G, tg2G]


muestra
22 Minimos Cuadrados.nb

20
Nube de Puntos

15
acion
roxim
mio de Ap
Polino
Recta Tangente
10

1 2 3 4

Polinomio de 3 grado de aproximacion


Determinatemos la ecuacion de la recta tangente al Punto 7, usaremos como pendiente la derivada
del polinomio de grado 3 de aproximacion y sabiendo que la recta que pasa por un puntos es : y -
y0 = m(x - x0 )

tg3[x_] := p3 '[P7[[1]]] * x - P7[[1]] + P7[[2]]

Ahora graficaremos conjuntamente ambas rectas y la nube de puntos

tg3G := Plot[tg3[x], {x, 0, 5}]


representacin grfica

Show[PointsG, P3G, tg3G]


muestra

20
Nube de Puntos

15 cion
xima
de Apro
Polinomio
Recta Tangente
10

1 2 3 4

Polinomio de 4 grado de aproximacion


Determinatemos la ecuacion de la recta tangente al Punto 7, usaremos como pendiente la derivada
del polinomio de grado 4 de aproximacion y sabiendo que la recta que pasa por un puntos es : y -
y0 = m(x - x0 )

tg4[x_] := p4 '[P7[[1]]] * x - P7[[1]] + P7[[2]]

Ahora graficaremos conjuntamente ambas rectas y la nube de puntos

tg4G := Plot[tg4[x], {x, 0, 5}]


representacin grfica
Minimos Cuadrados.nb 23

Show[PointsG, P4G, tg4G]


muestra

20

Nube de Puntos

n
15

io
ac
im
x
ro
Ap
de
io
10

om
lin
Po
Re
5 ct
a
Ta
ng
en
te

1 2 3 4

Vous aimerez peut-être aussi