Ajuste Minimos cuadrados Matlab (Recta)
% Direccion de datos
mov = fopen('C:\Dinamica\Datos1.txt','r');
val = fscanf(mov,' %g %g ', [2 inf]);
% Asiganción del tiempo y la posición
med = val';
t = med(:,1);
pos = med(:,2);
datos = plot(t,pos,'b.');
hold on
A=t
B=pos
N1=length(t)
N2=length(pos)
% Matriz
Ex1=sum(A)
Ex2=sum(A.^2)
Ef1=sum(pos)
Ef2=sum(A.*pos)
Y=[Ef1;Ef2]
M1=[N1,Ex1;Ex1,Ex2]
M2=inv(M1)
% Resultado: la ordenada al origen y la pendiente
R=[M2*Y]
% Grafica linealizada
Z1=[1;0]
Z2=[0;1]
E1=R.*Z2
E2=R.*Z1
m=sum(E1)
b=sum(E2)
x=A'
y=m*x+b
plot(x,y,'r-')
No hay comentarios:
Publicar un comentario