ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Cálculo de la línea recta mejor ajuste por el método de mínimos cuadrados


Enviado por   •  20 de Septiembre de 2020  •  Prácticas o problemas  •  288 Palabras (2 Páginas)  •  147 Visitas

Página 1 de 2

“Cálculo de la línea recta mejor ajuste por el método de mínimos cuadrados”

Objetivo:

Aprender a programar en Matlab método de mínimos cuadrados de línea recta de mejor ajuste.

Introducción:

Método de mínimos cuadrados de una línea recta mejor ajuste.

Mínimos cuadrados es una técnica de análisis numérico encuadrada dentro de la optimización matemática, en la que, dados un conjunto de pares ordenados: variable independiente (y), variable dependiente (x), y una familia de funciones, se intenta encontrar la función, dentro de dicha familia, que mejor se aproxime a los datos (un "mejor ajuste"), de acuerdo con el criterio de mínimo error cuadrático. De esta manera, cuanto menor sea el error que estemos cometiendo, mejor será la aproximación que estemos haciendo de ese conjunto de valores.

Este método consiste, básicamente, en aproximar un conjunto de puntos (n) mediante una recta de la forma y=mx+b , donde los valores m y b, los deberemos calcular mediante las siguientes fórmulas:

[pic 1]

Algoritmo minimos cuadrados mejor ajuste para línea recta:

clear all

clc

fprintf('minimos cuadrados mejor ajuste para linea recta\n');

VecX =input('ingresa los valores de VecX:\n');

VecY=input('ingresa los valores de VecY:\n');

xm=input('ingresa un valor de x para analisar la pendiente:\n');

n=length(VecX);

p=VecX.';

q= VecY.';

r=p.*q;

s=p.*p;

a1=sum(VecX);

a2=sum(VecY);

a3=sum(r);

a4=sum(s);

m=b/n;

j=sum((VecY -m).^2);

A=[a4 a1;a1 n];

B=[a3 a2];

b=sum y(sum x^2) -sumx(sum(x*y)/n(sum x^2)-|sum x|^2

X=inv(A)*(B');

l=X(1);r=X(2);

fprintf('\nLos coeficientes de la ecuacion son:\n')

fprintf(' a1 a2 \n')

fprintf('%8.8f%10.8f\n',l,r)

fun=input('\nLa funcion lineal es y=','s');

y=l* VecX +r;

t=sum((VecY -y).^2);

r2=1-(t/j);

z=(r2)^0.5;

m=diff(fun);

x=xm;

n=eval(m);

fprintf('\n El coeficiente de determinacion r^2=');

fprintf('%5.5f\n',r2);

if(n>0)

fprintf('\n El coeficiente de correlacion r=');

fprintf('%5.5f\n',z);

elsefprintf('\n El coeficiente de correlacion r=');

fprintf('%5.5f\n',-z);

end

hold on

ezplot(fun),grid on,

plot(VecX, VecY,'m.'),

hold off

Resultados:

[pic 2]

Conclusiones:

La búsqueda de información  para llevar a cabo esta práctica permitió tener noción de la mecánica para programar  el método en Matlab.

Referencias:

Metodos numéricos básicos para ingeniería.  Carlos Armando de Castro

Matlab: una introducción con ejemplos prácticos.  Amos Gilat

...

Descargar como (para miembros actualizados)  txt (2.6 Kb)   pdf (153.3 Kb)   docx (74.1 Kb)  
Leer 1 página más »
Disponible sólo en Clubensayos.com