minimos_cuadrados_lineal

____________________________________________________________

Asesorías en Matemáticas, Física e Ingeniería

Principal - Estudiantes - Empresas - Publicaciones - Quiénes somos

_____________________________________________________________

Algoritmo en MATLAB para la aproximación lineal por el método de los mínimos cuadrados.

Por: Carlos Armando De Castro P.

El siguiente algoritmo recibe un número arbitrario de pares de datos en la forma de una matriz de 2*n, donde las abcisas se encuentran en la primera fila (o renglón) y las ordenadas en la segunda fila de la matriz, devolviendo la pendiente m y el intercepto b de la recta que interpola a los datos y además entrega su gráfica:

function [m,b]=mincuadlin(X)

n=length(X(1,:));

A=0;

B=0;

C=0;

D=0;

for i=1:n;

A=A+X(1,i);

B=B+X(2,i);

C=C+(X(1,i))^2;

D=D+X(1,i)*X(2,i);

end

m=(n*D-A*B)/(n*C-A^2);

b=(C*B-D*A)/(n*C-A^2);

for i=1:n;

hold on;

plot (X(1,i),X(2,i),'*','MarkerEdgeColor','r','LineWidth',1);

end

x=X(1,1):1:X(1,n);

y=m*x+b;

plot(x,y,'b');

title('Aproximación lineal por mínimos cuadrados.');

Por ejemplo, para los datos {(1,0),(2,3),(3,4),(4,-6),(5,2),(6,4),(7,0),(8,4),(9,3)}, se escribe en el Command Window:

>>X=[1 2 3 4 5 6 7 8 9; 0 3 4 -6 2 4 0 4 3];

>>[m,b]=mincuadlin(X)

Y el programa entrega los resultados:

m = 0.2833

b = 0.1389

"Me gusta" en Facebook.

Descargue nuestro catálogo aquí