Está en la página 1de 19

INSTITUTO POLITÉCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA


DE BIOTECNOLOGÍA

INTEGRANTES:
● DÍAZ RODRÍGUEZ ELENA
● ESPINOSA MARTÍNEZ ANA MICHEL
● RODRÍGUEZ VALENTÍN KARLA MARÍA
● RUÍZ CUEVAS JOSÉ MARTÍN DE JESÚS

NÚMERO DE EQUIPO: 6

U.A: MÉTODOS NUMÉRICOS

GRUPO: 4BM2

PROFESORES:
● FLORES NÚÑEZ JOSÉ IGNACIO
● VALDÉS LOZANO ALEJANDRA

PARCIAL: 2

FECHA DE ENTREGA: 20/NOVIEMBRE/2020

TAREA 2 “MÍNIMOS CUADRADOS”

1
INTRODUCCIÓN

Los datos que se obtienen mediante mediciones fluctúan, esto se debe a errores aleatorios
del sistema de medición aplicado al comportamiento intrínsecamente estocástico del sistema
en observación. Cualquiera que sea la razón, es frecuente que surja la necesidad de ajustar
una función a los datos de una medición. Por ejemplo, un investigador podría intentar
desarrollar una fórmula empírica para el sistema en observación. Mientras más datos se
utilicen, mejor será la precisión de la curva ajustada.
Lo mejor que podemos hacer es considerar una función con pocos parámetros libres y
determinarlos de forma que la desviación de la función con respecto a los datos sea mínima.
dicha minimización de la desviación se obtiene mediante el método de mínimos cuadrados
(Nakamura, 1992).

REGRESIÓN LINEAL
El ejemplo más simple de una aproximación por mínimos cuadrados es ajustar una línea recta
a un conjunto de observaciones definidas por puntos: (x1,y1), (x1,y2),...,(xn, yn).
La expresión matemática para la línea recta es:
y= a0 + a1x + e
Donde: a0 y a1 son coeficientes que representan la intersección con el eje “y” y la pendiente,
respectivamente, “e” es el error, o diferencia entre el modelo y las observaciones.

Figura 1. “Resultados satisfactorios mediante el ajuste por mínimos cuadrados”


(Chapra y Canale, 2006).

● Ajuste de una recta por mínimos cuadrados

Para determinar los valores de a0 y a1, se deriva parcialmente con respecto a cada
uno de los coeficientes:

(Nakamura, 1992)

2
Y posteriormente se igualan a 0:

Por último, tendríamos unas ecuaciones


normales, y se resuelven de forma simultánea.

(Chapra y Canale, 2006)

También se puede reescribir en forma matricial como:

(Nakamura, 1992)

● Regresión polinomial

El procedimiento de mínimos cuadrados se puede extender fácilmente al ajuste de


datos con un polinomio de grado superior. Por ejemplo, suponga que ajustamos un
polinomio de segundo grado o cuadrático:

y = a0 + a1x + a2x2+ e

Se deriva parcialmente con respecto a los coeficientes del polinomio desconocido:

que se puede escribir en forma más explícita como:

3
La matriz

resultante se puede resolver mediante eliminación de Gauss.


(Nakamura, 1992)

OBJETIVOS
● Encontrar la función continua que mejor se aproxime a una serie de datos de acuerdo
con el método de ajuste por mínimos cuadrados.

CONTENIDO DE LA CLASE
EJEMPLO 1

Código de matlab
clc, clear,close
%Ajuste por mínimos cuadrados
%Modelo lineal ax+b
%Ejemplo 1
xi=[1,2,3,4,5,6,7];
yi=[0.5,2.5,2,4,3.5,6,5.5];
%Graficando los datos
plot(xi,yi,'*r')
grid
title('Modelo lineal')
%Sistema de ecuaciones
A=[sum(xi.^2),sum(xi);sum(xi),length(xi)];
B=[sum(xi.*yi);sum(yi)];

4
%Resolver la ecuación por metodo de la inversa
s=inv(A)*B;
a= s(1)
b=s(2)
%Graficando el modelo lineal
hold on
x2=min(xi)-1:0.1:max(xi)+1;
y2=a*x2+b;
plot(x2,y2,'g')
Comandos

a=
0.8393

b=
0.0714

y=0.8393x+0.0714 polinomio obtenido

Obtén la evaluación cuando xi=6.22


clc, clear,close
%Ajuste por mínimos cuadrados
%Modelo lineal ax+b
%Ejemplo 1

5
xi=[1,2,3,4,5,6,7];
yi=[0.5,2.5,2,4,3.5,6,5.5];
%Graficando los datos
plot(xi,yi,'*r')

grid
title('Modelo lineal')
%Sistema de ecuaciones
A=[sum(xi.^2),sum(xi);sum(xi),length(xi)];
B=[sum(xi.*yi);sum(yi)];
%Resolver la ecuación por metodo de la inversa
s=inv(A)*B;
a= s(1)
b=s(2)
%Graficando el modelo lineal
hold on
x2=min(xi)-1:0.1:max(xi)+1;
y2=a*x2+b;
plot(x2,y2,'g')
%Evaluando cuando xi es igual a 6.22
xi=6.22;
evalua=a*xi+b
Comandos
a=
0.8393
b=
0.0714
evalua =
5.2918
y(6.22)=5.2918

EJEMPLO 2

Código de matlab
clc, clear,close
%Ajuste por mínimos cuadrados
%Modelo cuadrático ax^2+bx+c

6
%Ejemplo 2
xi=[1,2,3,4,5,6,7];
yi=[2.4,2.1,3.2,5.6,9.3,14.6,21.9];
plot(xi,yi,'*r')
grid

title('Modelo cuadrático')
A=[sum(xi.^4),sum(xi.^3),sum(xi.^2);...
sum(xi.^3),sum(xi.^2),sum(xi);...
sum(xi.^2),sum(xi),length(xi)];
B=[sum(xi.^2.*yi);sum(xi.*yi);sum(yi)];
%Matriz ampliada
a=[A,B];
%Resolver por Gauss-Jordan
%Hacer 1 a(1,1)
a(1,:)=a(1,:)/a(1,1);
%% Hacer 0 a(2,1)
a(2,:)=a(2,:)-a(2,1)*a(1,:);
%Hacer 0 a(3,1)
a(3,:)=a(3,:)-a(3,1)*a(1,:);
%% Hacer 1 a(2,2)
a(2,:)=a(2,:)/a(2,2);
%Hacer 0 a(1,2)
a(1,:)=a(1,:)-a(1,2)*a(2,:);
%Hacer 0 a(3,2)
a(3,:)=a(3,:)-a(3,2)*a(2,:);
%% Hacer 1 a(3,3)
a(3,:)=a(3,:)/a(3,3);
%Hacer 0 a(1,3)
a(1,:)=a(1,:)-a(1,3)*a(3,:);
%Hacer 0 a(2,3)
a(2,:)=a(2,:)-a(2,3)*a(3,:)
%Resolución al sistema
aa=a(1,4)
bb=a(2,4)
cc=a(3,4)
%Graficando el modelo
hold on
x2=min(xi)-1:0.01:max(xi)+1;
y2=aa*x2.^2+bb*x2+cc; %Modelo cuadrático
plot(x2,y2,'g')
%Evaluando xi=10.2
xi=10.2;
evalua=aa*xi^2+bb*xi+cc
Comandos
a=

1.0000 0 0 0.7333

7
0 1.0000 0 -2.6667
0 0 1.0000 4.4429
aa =
0.7333
bb =
-2.6667
cc =
4.4429
evalua =
53.5389

y=0.7333x^2-2.6667x+4.4429 polinomio obtenido


y(10.2)=53.5389 evaluacion

8
EJERCICIO EN CLASE

CÓDIGO DE MATLAB
clc,clear,close
%%Ajuste por mínimos cuadrados
%%Modelo cúbico
%%Ejemplo 3
xi=[0.1,0.4,0.5,0.7,0.75,0.9];
yi=[0.61,0.92,0.99,1.52,1.47,2.03];
%Gráfico los datos

9
plot(xi,yi,'*r')
grid
title('Modelo cúbico')
%Sistema de ecuaciones
A=[sum(xi.^6),sum(xi.^5),sum(xi.^4),sum(xi.^3);...
sum(xi.^5),sum(xi.^4),sum(xi.^3),sum(xi.^2);...
sum(xi.^4),sum(xi.^3),sum(xi.^2),sum(xi);...
sum(xi.^3),sum(xi.^2),sum(xi),length(xi)];
B=[sum(xi.^3.*yi);sum(xi.^2.*yi);sum(xi.*yi);sum(yi)];
%Método de Gauss-Jordan
%Matriz Ampliada
a=[A,B]
%Resolver por Gauss-Jordan
%Hacer 1 a(1,1)
a(1,:)=a(1,:)/a(1,1);
for i=1:4
if i~=1
a(i,:)=a(i,:)-a(1,:)*a(i,1);
end
end
%Hacer 1 a(2,2)
a(2,:)=a(2,:)/a(2,2);
for i=1:4
if i~=2
a(i,:)=a(i,:)-a(2,:)*a(i,2);
end
end
%Hacer 1 a(3,3)
a(3,:)=a(3,:)/a(3,3);
for i=1:4
if i~=3
a(i,:)=a(i,:)-a(3,:)*a(i,3);
end
end
%Hacer 1 a(4,4)
a(4,:)=a(4,:)/a(4,4);
for i=1:4
if i~=4
a(i,:)=a(i,:)-a(4,:)*a(i,4);
end
end, a
%Resolución al sistema
aa=a(1,5)
bb=a(2,5)

10
cc=a(3,5)
dd=a(4,5)
%graficar el modelo
hold on
x2=min(xi)-0.1:0.001:max(xi)+0.1;
y2=aa*x2.^3+bb*x2.^2+cc*x2+dd; %Modelo cúbico
plot(x2,y2,'g')
%Evaluando xi= 1.15
xi=1.15;
evalua=aa*xi^3+bb*xi^2+cc*xi+dd

COMANDOS

a=

0.8468 1.0374 1.3008 1.6839 2.8046


1.0374 1.3008 1.6839 2.2825 3.6168
1.3008 1.6839 2.2825 3.3500 4.9175
1.6839 2.2825 3.3500 6.0000 7.5400

a=

1.0000 0 0 0 1.4388
0 1.0000 0 0 -0.3923
0 0 1.0000 0 0.8480
0 0 0 1.0000 0.5287

aa =

1.4388

bb =

-0.3923

cc =
0.8480

dd =

11
0.5287

evalua =

3.1732

y=1.4388x^3-0.3923x^2+0.8480x+0.5287 polinomio obtenido


y(1.15)=3.1732 evaluación obtenida

12
TAREA

%a)
clc, clear, close
x=[8,2,11,6,5,4,12,9,6,1];
y=[3,10,3,6,8,12,1,4,9,14];
A=[sum(x.^2),sum(x);sum(x),length(x)];
b=[sum(x.*y);sum(y)];
a=[A,b]
a=

528 64 317
64 10 70
for j=1:length(A)
a(j,:)=a(j,:)/a(j,j);
for i=1:length(A)
if i~=j
a(i,:)=a(i,:)-a(i,j)*a(j,:);
end
end
end
a
a=

1.000000000000000 0 -1.106418918918919
0 1.000000000000000 14.081081081081084

ab=a(:,3)'
ab =

13
-1.106418918918919 14.081081081081084

%inciso b) modelo
y=-1.1064x+14.0811
%c)
xi=min(x)-1:0.01:max(x)+1;
yi=ab(1)*xi+ab(2);
plot(x,y,'*b',xi,yi,'r'); grid;
title('Gráfica de los datos y modelo y=-1.1064x+14.0811')
xlabel('x'); ylabel('y');

%d)
x=6.78;
evaluacion=ab(1)*x+ab(2)
evaluacion =

6.579560810810811

y(6.78)=6.5795 evaluación obtenida

14
%a)
clc, clear, close
x=[6,9,11,13,22,26,28,33,35];
y=[68,67,65,53,44,40,37,34,32];
A=[sum(x.^4),sum(x.^3),sum(x.^2);sum(x.^3),sum(x.^2),sum(x);sum(x.^2),sum(x),length(x)];
b=[sum(x.^2.*y);sum(x.*y);sum(y)];
a=[A,b]
a=

4043493 133461 4665 178267


133461 4665 183 7701
4665 183 9 440
for j=1:length(A)
a(j,:)=a(j,:)/a(j,j);
for i=1:length(A)
if i~=j
a(i,:)=a(i,:)-a(i,j)*a(j,:);
end
end
end
a

15
a=

1.000000000000000 0 0 0.024519704826300
0 1.000000000000000 0 -2.322324566939411
0 0 1.000000000000000 83.400108081691414

abc=a(:,4)'
abc =

0.024519704826300 -2.322324566939411 83.400108081691414


%b) modelo cuadrático
y=0.0245*x^2--2.3223*x+83.4001

c)
A=[sum(x.^6),sum(x.^5),sum(x.^4),sum(x.^3);...
sum(x.^5),sum(x.^4),sum(x.^3),sum(x.^2);...
sum(x.^4),sum(x.^3),sum(x.^2),sum(x);...
sum(x.^3),sum(x.^2),sum(x),length(x)];
b=[sum(x.^3.*y),sum(x.^2.*y),sum(x.*y),sum(y)];
matext=[A,eye(size(A))]
matext =

1.0e+09 *

Columns 1 through 7

4.041096045000000 0.126501813000000 0.004043493000000 0.000133461000000


0.000000001000000 0 0
0.126501813000000 0.004043493000000 0.000133461000000 0.000004665000000
0 0.000000001000000 0
0.004043493000000 0.000133461000000 0.000004665000000 0.000000183000000
0 0 0.000000001000000
0.000133461000000 0.000004665000000 0.000000183000000 0.000000009000000
0 0 0

Column 8

16
0
0
0
0.000000001000000
for j=1:length(A)
matext(j,:)=matext(j,:)/matext(j,j);
for i=1:length(A)
if i~=j
matext(i,:)=matext(i,:)-matext(i,j)*matext(j,:);
end
end
end
matext
matext =

Columns 1 through 7

1.000000000000000 0 0 0 0.000000309190469 -
0.000019503352711 0.000362064912601
0 1.000000000000000 0 0 -0.000019503352711
0.001251692888824 -0.023715646480175
0 0 1.000000000000000 0 0.000362064912601 -
0.023715646480175 0.460908258629090
0 0 0 1.000000000000000 -0.001837734201971
0.122639215080163 -2.448251755524785

Column 8

-0.001837734201971
0.122639215080165
-2.448251755524809
13.575997471264145
Ainversa=matext(:,5:8)
Ainversa =

0.000000309190469 -0.000019503352711 0.000362064912601 -0.001837734201971


-0.000019503352711 0.001251692888824 -0.023715646480175 0.122639215080165
0.000362064912601 -0.023715646480175 0.460908258629090 -2.448251755524809
-0.001837734201971 0.122639215080163 -2.448251755524785 13.575997471264145
abcd=b*Ainversa
abcd =

0.000610710140883 -0.014003136167872 -1.607177316920570 79.770232567479979


%d) modelo cúbico
y=0.0006*x^3-0.0140*x^2-1.6071*x+79.7702

17
%e)
xi=min(x)-1:0.01:max(x)+1;
yi1=abc(1)*xi.^2+abc(2)*xi+abc(3);
yi2=abcd(1)*xi.^3+abcd(2)*xi.^2+abcd(3)*xi+abcd(4);
plot(x,y,'*g',xi,yi1,'r',xi,yi2,'b'); grid;
title('Gráfica de los datos y modelos')
xlabel('Deformación (en mm)'); ylabel('Dureza (en kg/mm^2)');

%f
x=23;
evaluacion1=abc(1)*x.^2+abc(2)*x+abc(3)
evaluacion2=abcd(1)*x.^3+abcd(2)*x.^2+abcd(3)*x+abcd(4)
evaluacion1 =

42.957566895197651

evaluacion2 =

42.828005529623020

y1(23)=42.9575
y2(23)=42.8280
a 23 mm de deformación en y1 hay 42.9575 kg/mm2 de dureza y en y2 42.8280 kg/mm2 de
dureza

18
CONCLUSIONES

❖ El método de mínimos cuadrados nos permite adaptar una línea recta óptima
a una serie de datos.
❖ El ajuste polinomial es una extensión de ajuste de rectas y se basa en el
método de mínimos cuadrados.
❖ Con este método podemos predecir valores en cualquier punto dado por la
recta.
❖ El modelo va a depender de la naturaleza de los datos dados.

BIBLIOGRAFÍA
● Chapra C.; Canale P.; (2006); “Métodos numéricos para ingenieros”; Quinta
Edición; Editorial McGRAW-HILL/INTERAMERICANA; México. pp 466-467,
469, 482-484.
● Nakamura S.; (1992); “Métodos numéricos aplicados con software”; Primera
Edición; Editorial Pearson Educación; México. pp 274-278.

19

También podría gustarte