Вы находитесь на странице: 1из 9

TEMAS SELECTO DE

MODELADO
Examen parte 1, primer parcial

JUAN DIEGO SANCHEZ DIAZ | M.C. GUILLERMO CHABEZ HERMANDEZ | 08 de marzo de


2019
CONTENIDO

Lenguaje de programación
Pruebas del programa
Conclusiones

PÁGINA 1
LENGUAJE DE PROGRAMACIÓN.
Cuando se tiene una gran cantidad de datos y se quiere hacer un ajuste por mínimos cuadrados es
muy tedioso trabajar con tantos datos, para ello se recurre a lenguajes de programación, es ente caso
al lenguaje de Matlab, para facilitar el manejo de estos datos.

Programa para hacer el ajuste por mínimos cuadrados de una recta


disp('"AJUSTE POR MINIMOS CUADRADOS: RECTA"') ;
%agregamos format long para trabajar con el formato largo de MATLAB
format long
%utilizamos load para ubicar nuestro archivo con extencion .txt
% es importante tener agregada la carpeta que contine dicho archivo, de
lo
% contrario el programa marcará error
A=load('DATOS.txt') ;
%una vez agregados el archivo .txt nombramos las calumnas para x y para
y
x=A(:,1) ;
d=A(:,2) ;
%con length obtenemos la cantidad de datos que tenemos por columna
N=length(A) ;
%para encontrar los minimos de una funcion tenemos una solucion general
%Gm=d
%donde G es la matriz de los coeficientes, m es la matriz de los
parametros
%d e la matriz de las soluciones.
%para los parametros tenemos una solucion [m]=inv[G'G][G'd]
%la matriz m contine los parametros con los cuales podemos ajustar la
recta
%mediante la ecuacion d=m1+m2*x

a=input('SIN RESTRICCIÓN ESCRIBA: 1; CON RESTRICCIÓN ESCRIBA: 2')


if a==1
disp('ajuste de la recta sin restriccion')
G=[ones(N,1),x];
G' ;
d;
M=inv([G']*[G])*([G']*[d]);
m1=M(1,1)
m2=M(2,1)
%los valores ajustados estaran dados por Y2
Y2=m1+m2*x;
%para calcular el error que obtenemos al ajustar cada dato
utilizamos
%e=dobs-depre, donde los datos predichos son los calculados con los
%parametros obtenidos, esto lo ponemos en valor absoluto para
obtener
%un valor positivo.
e=(abs(d-Y2));
e';
%"E" es el error por minimos cuadrados
E=e'*e

PÁGINA 2
hold on
%con el comando plot graficamos nustros valores. Aquí hacemos una
%comparacion graficando los datos obtenidos por el ajuste y los
datos
%que se nos proporcionaron
plot(x,d,'+',x,Y2,'g')
%con los comados title, xlabel, ylabel agregamos las etiquetas de
%titulo de la grafica, titulo del eje x, titulo del eje y,
%respectivamente
title('RECTA AJUSTADA POR MINIMOS CUADRADOS')
xlabel('z')
ylabel('d')
hold off

else if a==2
disp('ajuste de la recta con restriccion al punto (dprim,
zprim')
%si queremos que nuestra recta pase por un punto debemos de
%agregar el lumtiplicador de Lagrnage a la funcion
%para ese caso tendriamos una solución para los parametros
%Fm=d'
%la matriz que dará solucion a nuestros parametros con esta
%restricción será m=inv[G'G F';F 0]*[G'd; dprim]
disp('se requiere pasar por el punto(dprim,zprim)')
disp('tendremos una solucion general Fm=h')
dprim=input('valor dprim')
zprim=input('valor zprim')
%Debemos de agregar una matiz F la cual contenga los
coeficientes
%que serán restringidos

F=[1 zprim] ;
FT=F';
G=[ones(N,1),x];
G' ;
d;
GTG=G'*G ;
GTd=G'*d ;
W=inv([GTG FT;F 0])*[GTd;dprim] ;
m1=W(1,1)
m2=W(2,1)
LAMBDA=W(3,1)
Y3=m1+m2*x;
%para el error con la restriccion tenmos E=(d-Gm)t(d-Gm)
+LAMBDA(Fm-h)
err=(abs(d-Y3));
err';
Er=(err'*err)+LAMBDA*(F*M-dprim)
hold on
plot(x,d,'+',x,Y3,'b')
title('RECTA AJUSTADA POR MINIMOS CUADRADOS CON RESTRICCIÓN')
xlabel('z')
ylabel('d')
hold off

end
PÁGINA 3
end

b=input('si desea ver ambas graficas superpuesta tecle:3; de lo


contrario 4')
if b==3

plot(x,d,'+',x,Y2,'b',x,Y3,'r')
title('RECTA AJUSTADA POR MINIMOS CUADRADOS')
xlabel('z')
ylabel('d')

else if b==4
end
end

PÁGINA 4
PRUBAS DEL PROGRAMA
Siempre es indispensable hacer una cantidad de pruebas para ver el buen funcionamiento de un
programa y en estos casos donde tenemos dos opciones lo es aún más para poder hacer un buen
análisis del comportamiento de los dato obtenidos.

Se hicieron 5 pruebas para ajustar la recta con restricción y fueron comparadas con los datos que se
tenían establecidos y los datos cálculos con mínimos cuadrados sin restricción alguna.

PRUEBA 1 punto (0,0)

Figura 1: se muestras los valores de


m1, m2, LAMBDA y el error de la
recta.

PÁGINA 5
PRUEBA punto (10,3)

FIGURA 2: prueba con punto (10,3)


se ve claramente que la recta cambia
totalmente cuando se restringe a
pasar por ese punto

Prueba 3 punto (4,6)

FIGURA3: En el punto (4,6) pasa lo


mismo que en la figura 2.

PÁGINA 6
Prueba 4, punto (1,2)

Figura 4: podemos observar en el


punto (1,2) que al restringirla al
pasar por ese punto la dirección de
la recta ajusta es más o menos la
misma.

Prueba 5, punto (5.5,5.5)

Figura 5: podemos observar


que en este punto (5.5,5.5) al
restringir la recta a tener que
pasar por esa posición se
asemeja mucho a la recta
ajusta sin restricciones.

PÁGINA 7
Conclusiones
El ajuste por mínimos cuadrados no sirve para ajustar una función que se pueda graficar, esto nos
sirve matemáticamente tener el mínimo error en nuestros datos, pero en ocasiones y en la mayoría
de los casos hacer el ajuste no siempre describe como actual realmente los datos, para eso utilizamos
un ajuste restringido el cual pase por un punto en el cual realmente se pueda apreciar el fenómeno
que queramos predecir o ajustar. Este punto tampoco puede ser cualquiera un ejemplo de ello lo es
en la Figura2 en el cual restringimos a la recta pasar por el punto (10,3) y vemos como la recta de los
datos observados y la de los datos predichos son muy diferentes, esto porque dicho punto queda
fuera del conjunto de los datos observados.

Si las matemáticas tuvieran alma podríamos describir cualquier paisaje con el dedo índice.

PÁGINA 8

Вам также может понравиться