Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Figura 4. Gráfica en MATLAB de los datos del Mediante la raíz del error medio
sensor.
cuadrático o RMSE se determinó el
modelo que representa mejor los datos.
I.3. Modelos matemáticos.
n
Para obtener un modelo matemático que
se ajuste a los datos obtenidos con
regresión lineal mediante mínimos
cuadrados, se tienen dos opciones:
- La primera opción es observar la gráfica
RMSE=
√ ∑ (Pi−Oi)2
i=1
n
Resultados del error medio cuadrático
calculado en MATLAB:
del comportamiento del sensor capacitivo,
Fig. 3 y tratar de identificar cual es el RMSE exponencial 4.3886*10^-6
RMSE lineal 3.3128*10^-6
comportamiento de dicho capacitor. A
RMSE polinomial 1.2641*10^-6
simple vista se percibe que la gráfica
presenta un comportamiento polinomial,
tras realizar esta deducción se procede a Ecuación del modelo polinomial , el cual es el
aplicar su respectiva regresión lineal. que más se ajusta alos datos obtenidos:
C=0.01983+0.0374 x 2−0.5223 x 3−3.227 10−4 x 4
[F]
Código de MATLAB de los modelos matemáticos.
% X distancia metros (m)
x= [1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8
8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14
14 15 15 15 15 16 16 16 16 17 17 17 17 18 18 18 18 19 19 19 19 20
20 20 20 21 21 21 21 22 22 22 22 23 23 23 23 24 24 24 24 25 25 25
25];
% Y datos de capacitancia microfaradios (uF)
y= [12.16 12.12 8.7199 9.64 16.4114 17.7714 17.0514 18.7714
21.1461 20.2261 19.8661 22.7461 22.4629 25.6629 23.1829 22.5429
25.5343 25.3343 25.4943 28.2543 27.0375 27.9175 29.8375 30.0775
31.1391 29.0591 31.3791 30.9791 31.4344 32.1944 32.9944 32.8344
31.0922 31.0922 33.8122 31.4522 32.1458 32.3058 32.5458 32.9058
34.8989 34.5389 32.9389 36.4589 36.289 34.929 35.649 35.409
34.6494 36.3294 36.6094 34.4494 36.5505 38.2305 37.3505 38.9505
37.6805 38.0405 36.9205 37.5605 40.0858 36.6458 40.1258 36.3658
37.7321 37.5321 37.6521 40.2521 40.7031 39.4637 40.7037 40.3837
39.0443 38.5643 38.4043 39.8443 38.8373 39.3173 40.0773 41.3973
41.7652 39.4852 41.4052 40.0452 41.5904 42.2704 42.9504 39.7904
43.0749 43.3149 42.3549 40.2349 41.2605 44.0205 42.1805 43.1005
40.7887 41.2675 44.6687 44.3087];
plot(x,y,'blue','DisplayName','Datos obtenidos') % Grafica de
datos obtenidos
hold on
x=x' % Matriz transpuesta
y=y' % Matriz transpuesta
%Modelo lineal
X= [x, ones(100,1)]; % Concatenacion de matriz x con matriz de
unos
t=(X'*X)\(X'*y); % pseudoinversa para encontrar matriz solucion
a0= t(1);
a1= t(2);
Y=a0*x+a1 ;
plot(x,Y,'red','DisplayName','Modelo Lineal') % Modelo lineal
lgd= legend;
mseLineal=0;
for i=1:100
mseLineal= mseLineal+(y(i)-Y(i))^2 % Error cuadratico medio
end
rmseLineal=(1/100*mseLineal)^(1/2);
%Modelo Polinomial
X= [ones(100,1),x,x.^2,x.^3,x.^4];
t=(X'*X)\(X'*y);
a0= t(1);
a1= t(2);
a2= t(3);
a3= t(4);
a4= t(5);
Y=a0+a1*x+a2*x.^2+a3*x.^3+a4*x.^4 ;
plot(x,Y,'green','DisplayName','Modelo Polinomial') % Modelo
Polinomial de orden 4
msePolinomial=0;
for i=1:100
msePolinomial= msePolinomial+(y(i)-Y(i))^2 % Error cuadratico
medio
end
rmsePolinomial=(1/100*msePolinomial)^(1/2);
% Modelo exponecial
ye=log(y)
X= [ones(100,1),x];
t=(X'*X)\(X'*ye);
a0= exp(t(1));
a1= t(2);
Y=double(a0*exp(a1*x)) ;
plot(x,Y,'black','DisplayName',' Modelo Exponecial') % Grafica
modelo exponencial
mseExponencial=0;
for i=1:100
mseExponencial= mseExponencial+(y(i)-Y(i))^2; % Error cuadratico
medio
end
rmseExponencial=(1/100*mseExponencial)^(1/2);
hold off
if rmseLineal<rmsePolinomial && rmseLineal<rmseExponencial
%Comparacion de RMSE para determinar mejor opcion
msg=['Modelo lineal representa mejor los datos']
elseif rmsePolinomial<rmseLineal && rmsePolinomial<rmseExponencial
msg=['Modelo polinomial representa mejor los datos']
else rmseExponencial<rmseLineal && rmseExponencial<rmsePolinomial
msg=['Modelo Exponecial representa mejor los datos']
end
I.4. Programa para conocer la
distancia.