UNIVERSIDAD NACIONAL DE SAN ANTONIO
ABAD DEL CUSCO
FACULTAD DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA,
SISTEMAS Y MECÁNICA
Escuela Profesional de Ingeniería Mecánica
GRUPO 2: METODO MATLAB
Curso: INGENIERIA DEL MANTENIMIENTO
DOCENTE: ING. ROSADO PACHECO, Rene
ALUMNOS:
AGUILAR SOTA LUIS MARCELO 134475
HINOJOSA TTITO LUIS ALDAIR 150130
PAREDES MOJONERO JEAN PAUL 134474
FARFAN MORA POUL DANNYEL 124682
SEMESTRE 2020- I
Contenido
1.0. MARCO TEORICO.............................................................................................................3
1.1. DISTRIBUCION DE WEIBULL....................................................................................3
1.2. DISTRIBUCIÓN DE WEIBULL USANDO MÉTODO DE MATLAB...........................4
1.2.1. CARACTERISTICAS DEL MATLAB......................................................................4
1.3. DEDUCCIÓN DE LA ECUACIÓN LINEAL DE REGRESIÓN.....................................5
1.4. CONCLUSIONES..............................................................................................................17
1.0. MARCO TEORICO
1.1. DISTRIBUCION DE WEIBULL.
La función de distribución de Weibull es un modelo estadístico que representa la probabilidad de
fallo después de un tiempo t (R (t)) en función del tiempo transcurrido o de una variable análoga.
O dicho de otra manera, R (t) es la probabilidad de que los componentes de un conjunto
sobrevivan hasta el momento t. Esta función de probabilidad de fallo o función de fiabilidad R (t),
viene dada por:
Donde los parámetros que definen la función son:
t : Tiempo entre fallas. fallas.
β : Es el parámetro parámetro de forma (Adimensional (Adimensional).
η : Es el parámetro parámetro de escala o tiempo característico característico (En unidades
unidades de tiempo). tiempo).
γ : Es el parámetro de localización (En unidades de tiempo)
1.2. DISTRIBUCIÓN DE WEIBULL USANDO
MÉTODO DE MATLAB
1.2.1. CARACTERISTICAS DEL MATLAB
MATLAB integra análisis numérico, cálculo matricial, proceso de señal y visualización
gráfica en un entorno completo donde los problemas ysus soluciones son expresados del
mismo modo en que se escribirían tradicionalmente.
MATLAB dispone también en la actualidad de un amplio abanico de programas de
apoyo especializados, denominados Toolboxes, que extienden significativamente el
número de funciones incorporadas en el programa principal
La función de distribución de Weibull es un modelo estadístico que representa la probabilidad de
fallo después de un tiempo t, (R (t)) en función del tiempo transcurrido o de una variable análoga.
O dicho de otra manera, R (t) es la probabilidad de que los componentes de un conjunto
sobrevivan hasta el momento t.
Esta función de probabilidad de fallo o función de fiabilidad R (t), viene dada por:
1.3. DEDUCCIÓN DE LA ECUACIÓN LINEAL DE
REGRESIÓN
Debido a que se desconoce los valores β, η e γ, se debe linealizar las curvas, es decir usar el
método de regresión lineal, este método permitirá obtener un polinomio que linealizará la
distribución de Weibull y permitirá estimar los parámetros β, η e γ, siguiendo los siguientes
pasos.
Función acumulativa de weibull :
Se realizara los arreglos algebraicos, se tiene.
Se aplicara logaritmos naturales a ambos miembros:
Nuevamente se aplicara logaritmos naturales a ambos miembros.
Y finalmente se tendrá la ecuación linealizada.
La expresión representara una ecuación lineal de la forma.
Y = ax – b
Donde se comparara, se tiene:
Despejando se tendrá “ η “
clear all
clc
disp(' UNSAAC ')
disp(' INGENIERIA MECANICA ')
disp(' INGENIERIA DEL MANTENIMIENTO ')
disp(' 2020 I ')
disp(' GRUPO N°2 ')
disp(' ALUMNOS: AGUILAR SOTA LUIS MARCELO 134475')
disp(' ALUMNOS: FARFAN MORA POUL DANNYEL 124682')
disp(' ALUMNOS: HINOJOSA TTITO LUIS ALDAIR 150130')
disp(' ALUMNOS: PAREDES MOJONERO JEAN PAUL 134474')
t =xlsread('GRUPO2','D42:D77');
t = t;
t=sort(t)'; % t=(tiempo entre fallas de menor a mayor)
n= length(t);
i= (1:length(t));
%RANGOS MEDIANOS POR FORMULA DE BERNARD
F=(i)/(n+1);% frecuencia acumulada de fallas x 100%
X=log(t);
Y=log(log(1./(1-F)));%Ajustando los datos de falla, linealizando
disp('
************************************************************************')
disp(' ')
disp('DETERMINACIÓN DE PARAMETROS DE WEIBULL, LA CONFIABILIDAD Y
EL MTBF ')
disp(' ')
b=[i ; t ; F*100 ; X; Y]';
disp(' i t F*100 X Y ')
disp(b)
P=polyfit(X,Y,1); % muestra del grafico LINEALIZADO y=ax+b ,
% a=beta
beta=P(1); % se calcula beta de la recta
eta=exp((P(2)/(-P(1)))); % % se calcula eta de la recta n
Y2=polyval(P,X); % reemplaza cada valor de X=log(t) en cada funcion p
%CALCULAMOS MTBF
m_beta_MTBF = 0.2:0.1:4;%datos obtenidos de tabla N°1 de ntp331
m_const_MTBF = [120, 9.2605, 3.3234, 2, 1.5046, 1.2658, 1.133, 1.0522, 1, 0.0649,
0.9407, 0.9235, 0.9114, 0.9028, 0.8966, 0.8922, 0.8893, 0.8874, 0.8862, 0.8857, 0.8856,
0.8859, 0.8865, 0.8873, 0.8882, 0.8893, 0.8905, 0.8917, 0.8938, 0.8943, 0.8957, 0.897,
0.8984, 0.8998, 0.9011, 0.9038, 0.9064];%Datos obtenidos de NTP 331
%calculo de constante por interpolacion
beta_str = num2str(beta);%convertir beta en matriz de caracteres
beta_tabla = str2double(beta_str(1:3));
index = find(m_beta_MTBF==beta_tabla);
const = abs(((beta - m_beta_MTBF(index))/(m_beta_MTBF(index + 1)-
m_beta_MTBF(index)))*(m_const_MTBF(index + 1) - m_const_MTBF(index)) +
m_const_MTBF(index));
MTBF = eta * const; %calculo de MTBF con el valor de constante hallado
disp(MTBF)
disp(' ');
disp('A.-Ajustamos los datos de falla, al polinomio siguiente: ');
disp(' ');
fprintf('Y =\t');
fprintf('%0.4f\t',P(1));
fprintf('X \t'),
fprintf('%0.4f\t',P(2));
disp('(Ecuación de la recta de Ajuste con Gamma = 0)')
fprintf('Beta (B) =\t');
fprintf('%0.4f\n',beta);
fprintf('Eta (n) =\t');
fprintf('%0.4f\n',eta);
figure(1);%ajuste de weibull
%grafica del ajuste de weibull
%X,Y2 Representan los puntos de la recta de ajuste
plot(X,Y2,'-b','LineWidth',2)
hold on
%X,Y Representan los puntos que se van a ajustar a la recta
plot(X,Y,'bo','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','y','MarkerSize',3)%ca
racteristicas de la grafica de weibull
title(['Ajuste de Weibull con ','\gamma',' = 0
'],'Color','y','FontSize',12,'HorizontalAlignment','center','BackgroundColor',[.20 .80 .
20],'Margin',6,'EdgeColor','k','LineWidth',1)%caracteristicas de los titulos de la grafica de
weibull
grid on
axis([-1 7 -5 3])%rango de x y y
vmi = min(Y2);
vmx = max(X);
xlabel('ln t','Color','b','FontSize',12)%caracteristicas de eje abcisas
ylabel('ln(ln(1/(1-F(i))))','Color','b','FontSize',12)%caracteristicas de eje de las ordenadas
disp(' ');
%B
disp('B.-Evaluamos el ajuste de los datos')
disp(' ')
%Coeficiente de Pearson
x_prom = mean(X); %promedio de X
y_prom = mean(Y); %promedio de Y
Sx = sqrt(sum(X.^2)/n - x_prom^2);%definicion de correlacion de pearson eje abcisas
Sy = sqrt(sum(Y.^2)/n - y_prom^2);%definicion de correlacion de pearson eje ordenadas
R = (sum(X.*Y)/n - x_prom*y_prom)/(Sx*Sy); %Coeficiente de Pearson
Rcuadrado = R^2;
text(vmx,vmi,['y = ',num2str(P(1)),'x ',num2str(P(2)),' \wedge ','r^{2} =
',num2str(Rcuadrado)],'FontSize',10,'HorizontalAlignment','center','BackgroundColor',[.8 .8
.50],'Margin',20,'EdgeColor','k','LineWidth',1)%texto en el grafico
disp(' ');
fprintf('R =\t');
fprintf('%0.4f\n',R);
fprintf('Rcuadrado =\t')
fprintf('%0.4f\n',Rcuadrado);
%C es el máximo valor de r^2
%La sentencia de FOR evalua el r^2 en j=1:n.....NUMERO DE ITERACIONES
t=(60*t);
n=(t(1,1)-1); % n=(t(1)-1);
for j=1:n;%numero de iteraciones
B=1:n;
%F=[1:length(t)]/(length(t)+1);
X=log(t-j);
e(1,j)=(sum((X-(sum(X)/length(X))).*(Y-(sum(Y)/length(Y))))/((sum((X-
(sum(X)/length(X))).^2)*sum((Y-(sum(Y)/length(Y))).^2))^.5))^2;
end
r2=e;
disp(' ');
disp('C.-Encontramos el valor máximo de r^2 que ajusta la recta')
disp('con la observación de que se ha incluido el parámetro Gamma > 0')
disp('a los datos de falla')
%La siguiente línea calcula el parámetro r^2 máximo y Gamma
disp(' ');
%Escribimos la variable "Gama" de esta forma para salvar un conflicto que se presentaria
%con la función interna Gamma de MATLAB
[Rcuadrado,Gama] = max(r2);r11=Rcuadrado;g11=Gama;
Gama=Gama/60;
t=t/60;
disp('El valor de r^2 que maximiza el ajuste es el siguiente: ')
fprintf('Rcuadrado =\t')
fprintf('%0.4f\n',Rcuadrado);
figure(2);%sensibilidad y error cuadratico
plot(r2,B,'-o')%grafica de Rcuadrado y B
title('Sensibilidad y Error
cuadrático','Color','y','FontSize',12,'HorizontalAlignment','center','BackgroundColor',[.20 .
80 .20],'Margin',6,'EdgeColor','k','LineWidth',1)%titulo de la sensibilidad y error cuadratico
d11 = min(r2);%valor minimo de Rcuadrado
d12 = median(B);%valor mediano de BETA
text(d11,d12,['Max. aproximación en: ',' (r^{2}) max = ',num2str(Rcuadrado),' \wedge ','
\gamma = ',num2str(Gama)],'FontSize',10,'HorizontalAlignment','left','BackgroundColor',
[.8 .8 .50],'Margin',6,'EdgeColor','k','LineWidth',1)
grid on
xlabel(['Coeficiente de determinacion ',' (r^{2})'],'Color','b','FontSize',12)%caracteristicas
eje abcisas
ylabel(['Gamma','(\gamma)',' en [Horas]'],'Color','b','FontSize',12)%caracteristicas eje
ordenadas
hold on
plot(r11,g11,'o','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','r','MarkerSize',2)
disp(' ');
% D.- AJUSTAMOS NUEVAMENTE LOS DATOS DE FALLA CON POLYFIT
disp('D.-Ajustamos nuevamente los datos de falla y obtenemos ');
disp('la nueva recta corregida: ');
disp(' ');
X=log(t-Gama);
P=polyfit(X,Y,1); % muestra del grafico LINEALIZADO y=ax+b , a i b
y3 = polyval(P,X);%ajuste de la curva con dependencia de los tiempos
figure(3);
%X,Y2 Representan los puntos de la recta de ajuste
plot(X,y3,'-r','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','r','MarkerSize',2)
hold on
%X,Y Representan los puntos que se van a ajustar por la recta
plot(X,Y,'bo','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','y','MarkerSize',2)%ca
racteristicas de la grafica de ajuste de weibull gama real
title(['Ajuste de Weibull con ','\gamma',' =
',num2str(Gama)],'Color','y','FontSize',12,'HorizontalAlignment','center','BackgroundColor',
[.20 .80 .20],'Margin',6,'EdgeColor','k','LineWidth',1)%titulo de la grafica del ajuste de
weibull real
[d11,c11] = min(Y2);%valor minimo de
[d12,c12] = max(X);%valor maximo de
text(d12,d11,['y = ',num2str(P(1)),'x ',num2str(P(2)),' \wedge ','r^{2} =
',num2str(Rcuadrado)],'FontSize',10,'HorizontalAlignment','right','BackgroundColor',[.8 .8 .
50],'Margin',6,'EdgeColor','k','LineWidth',1)
grid on
xlabel('ln (t-\gamma)','Color','b','FontSize',12)%caracteristicas eje abcisas
ylabel('ln(ln(1/(1-F(i))))','Color','b','FontSize',12)%caracteristicas eje ordenadas
fprintf('Y =\t');%
fprintf('%0.4f\t',P(1));%funcion ajustada
fprintf('X\t');
fprintf('%0.4f\t',P(2));
disp('(Ecuación de la recta de Ajuste con Gamma > 0)')
Beta=P(1);
disp(' ');
% PARAMETROS CORREGIDOS DE WEIBULL
disp('E.-Obtenemos los parametros corregidos de Weibull:')
disp(' ');
fprintf('Beta (B) =\t');
fprintf('%0.4f\n',Beta);
Eta=exp(P(2)/(-P(1)));
fprintf('Eta (n) =\t');
fprintf('%0.4f\n',Eta);
fprintf('Gamma =\t');
fprintf('%0.4f\n',Gama);
disp(' ');
%MTBF metodo
beta_str = num2str(Beta);%convertir numeros en matriz de caracteres
beta_tabla = str2double(beta_str(1:3));
index = find(m_beta_MTBF==beta_tabla);
const = abs(((Beta - m_beta_MTBF(index))/(m_beta_MTBF(index + 1)-
m_beta_MTBF(index)))*(m_const_MTBF(index + 1) - m_const_MTBF(index)) +
m_const_MTBF(index));
MTBF = Eta * const;
disp(MTBF)
%Confiabilidadad
Rt=exp(-((t-Gama)./Eta).^(Beta));
figure(4)%grafica de la confiabilidad
plot(t,Rt,'-
bo','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','r','MarkerSize',2)%caracteristic
as de la grafica de confiabilidad
title(' Confiabilidad
','Color','y','FontSize',12,'HorizontalAlignment','center','BackgroundColor',[.20 .80 .
20],'Margin',6,'EdgeColor','k','LineWidth',1)%titulo de la grafica de confiabilidad
d11 = min(t);%valor minimo de la confiabilidad
d12= median(Rt);%valor medio de la confiabilidad
text(d11,d12,['R(t) = e ','^{-((\gamma-t)/\eta)}',' ^
','^{\beta}'],'FontSize',10,'HorizontalAlignment','left','BackgroundColor',[.8 .8 .
50],'Margin',6,'EdgeColor','k','LineWidth',1)
grid on
xlabel('Tiempo (t) en [Horas]','Color','b','FontSize',12)%caracteristicas de eje abcisas
ylabel('Confiabilidad R(t)','Color','b','FontSize',12)%caracteristicas del eje ordenadas
disp(' ');
% H encontrar en tiempo de falla
disp('H.-Encontramos el Tiempo Promedio Entre Fallas "MTBF" en Horas')
MTBF = Eta*gamma(1+(1/Beta));
MTBF = (MTBF + Gama)
disp(' ');
disp('I.-Encontramos la Tasa de Fallas')
%Tasa de Fallos de Acuerdo a la Distribución de Weibull
TF=((((t-Gama)./Eta).^(Beta-1)).*(Beta/Eta))'
figure(5);%grafica de tasa de fallas de acuerdo a la distribucion de weibull
plot(t,TF,'-
bo','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','r','MarkerSize',2)%caracteristic
as de la tasa de fallas de acuerdo a la distribucion de weibull
title('Tasa de Fallas de Acuerdo a Distribución de
Weibull','Color','y','FontSize',12,'HorizontalAlignment','center','BackgroundColor',[.20 .80 .
20],'Margin',6,'EdgeColor','k','LineWidth',1)
%Modificación de valor inicial y final de eje X
grid on
xlabel('Tiempo (t) en [Horas]','Color','b','FontSize',12)%caracteristicas eje abcisas
ylabel('Tasa de Fallas: \lambda(t) [Fallas/Hora]','Color','b','FontSize',12)%caracteristicas
eje ordenadas
% Infiabilidad
It=1-exp(-((t-Gama)./Eta).^(Beta));
figure(6)%grafica de la infiabilidad
plot(t,It,'-
bo','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','r','MarkerSize',2)%caracteristic
as de la grafica de infiabilidad
title(' Infiabilidad
','Color','y','FontSize',12,'HorizontalAlignment','center','BackgroundColor',[.20 .80 .
20],'Margin',6,'EdgeColor','k','LineWidth',1)%titulo de la grafica de infiabilidad
grid on
[d11,c11] = min(t);
d12= median(Rt);
text(d11,d12,['I(t) = 1 - e ','^{-((\gamma-t)/\eta)}',' ^
','^{\beta}'],'FontSize',10,'HorizontalAlignment','left','BackgroundColor',[.8 .8 .
50],'Margin',6,'EdgeColor','k','LineWidth',1)
xlabel('Tiempo (t) en [Horas]','Color','b','FontSize',12)%caracteristicas eje abcisas
ylabel('Infiabilidad I(t)','Color','b','FontSize',12)%caracteristicas eje ordenadas
% Determinar la interseccion de la Fiabilidad entre la Infiabilidad
figure(7)
plot(t,Rt,'-b','linewidth',2)
hold on
plot(t,It,'-r','linewidth',2)
grid on
title(' Interseccion Fiabilidad e Infiabilidad
','Color','y','FontSize',12,'HorizontalAlignment','center','BackgroundColor',[.20 .80 .
20],'Margin',6,'EdgeColor','k','LineWidth',1)
xlabel('Tiempo (t) en [Horas]','Color','b','FontSize',12)%caracteristicas eje abcisas
ylabel('Fiabilidad - Infiabilidad ','Color','b','FontSize',12)%caracteristicas eje ordenadas
1.4. CONCLUSIONES.
El método usando Matlab es el que presenta mayor efectividad en determinar parámetros
de forma y escala de la distribución de Weibull.
El Matlab es una herramienta potente de amplio uso en la ingeniería, el dominio de los
varios y diferentes comandos, permiten aplicarlo también en el mantenimiento.
El Matlab, en el cálculo de la confiabilidad permite determinar no solo los resultados de
los análisis de los parámetros de Weibull, sino que permite la ejecución de los gráficos,
que ayudan en el trabajo para tomar decisiones y hacer seguimiento de la variación de los
parámetros durante la vida útil de los equipos.