%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%MÉTODO 5%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%STUBBS%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %FUNCIÓN STUBBS tipo_interp=menu('¿Qué tipo de interpolación desea?','Cúbica','Splines(recomendada)'); %Determinamos ahora las curvaturas de los modos [fil,col]=size(matsin); %Primero interpolamos [curvsin_,curvcon_,h,coordcurv_,coord_int]=curv_todo_punto(tipo_interp,matsin,matcon,coord,n_elem,nbarra,n_puntos_barra); [fil_curvsin,col_curvsin]=size(curvsin_); %A continuacion calculamos los gip for i=1:1:col_curvsin for j=1:1:(fil_curvsin) curv_barrasin(j,i)=curvsin_(j,i)^2; curv_barracon(j,i)=curvcon_(j,i)^2; %Necesitamos los cuadrados de las curvaturas end end for k=1:1:col z=1; for j=1:1:nbarra for i=(j-1)*(n_elem-1)+2:1:j*(n_elem-1) int_sin(z,k)=0.5*(h(j))*(curv_barrasin(i,k)+curv_barrasin(i-1,k)); int_con(z,k)=0.5*(h(j))*(curv_barracon(i,k)+curv_barracon(i-1,k)); z=z+1; end inttot_sin(j,k)=sum(int_sin((j-1)*(n_elem-2)+1:j*(n_elem-2),k));%k denota el número de modo inttot_con(j,k)=sum(int_con((j-1)*(n_elem-2)+1:j*(n_elem-2),k)); end end p=1; for j=1:1:nbarra for i=(j-1)*(n_elem-1)+2:1:j*(n_elem-1) coord_betas(p,1)=coordcurv_(i)-0.5*h(j); p=1+p; end end [fil_int,col_int]=size(int_sin); for j=1:1:nbarra for k=1:1:col for i=(j-1)*(n_elem-2)+1:1:j*(n_elem-2) gip_sin(i,k)=int_sin(i,k)/inttot_sin(j,k); nuip_sin(i,k)=gip_sin(i,k)+1; gip_con(i,k)=int_con(i,k)/inttot_con(j,k); nuip_con(i,k)=gip_con(i,k)+1; end end end [fil_gip,col_gip]=size(gip_sin); for k=1:1:fil_gip alfas(k,1)=sum(gip_con(k,:))/(sum(gip_sin(k,:)-1)); betas(k,1)=((sum(nuip_con(k,:))))/sum(nuip_sin(k,:)); end avebeta = mean(betas(:)); stdbeta = std(betas(:)); DImat = (betas-avebeta)/stdbeta; %Determinamos la relación entre las inercias [coord_int,modosin,modocon,sdf]=modos_todo_punto(tipo_interp,matsin,matcon,coord,n_elem,nbarra,n_puntos_barra); for k=1:1:col p=1; for j=1:1:nbarra for i=(j-1)*n_elem+(j+1):1:j*n_elem+j-1 modo_aux_sin(p,k)=modosin(i,k); modo_aux_con(p,k)=modocon(i,k); p=p+1; end end end [filas,columnas]=size(modo_aux_sin); for i=1:1:filas for j=1:1:columnas relacion(i,j)=(wsin(j)*modo_aux_sin(i,j)/curvsin_(i,j))*(1/(wcon(j)*modo_aux_con(i,j)/curvcon_(i,j))); end end for i=1:1:filas rel_inercias(i,1)=sum(relacion(i,1:m)); end rel_inercias; [valor,indice]=max(betas); localizacion=coord_betas(indice) minimobeta=min(betas); maximobeta=max(betas); interv_beta=[minimobeta:(maximobeta-minimobeta)/5:maximobeta]; coord_plotear_x=[];coord_plotear_y=[]; for i=1:1:nbarra %coord_x=zeros(1,(n_elem+1));coord_y=zeros(1,(n_elem+1)) if coordenadas(inic_fin(i,1),1)==coordenadas(inic_fin(i,2),1) coord_x=coordenadas(inic_fin(i,1),1)*ones(1,(n_elem+1)); else coord_x=[coordenadas(inic_fin(i,1),1):(coordenadas(inic_fin(i,2),1)-... coordenadas(inic_fin(i,1),1))/n_elem:coordenadas(inic_fin(i,2),1)]; end if coordenadas(inic_fin(i,1),2)==coordenadas(inic_fin(i,2),2) coord_y=coordenadas(inic_fin(i,1),2)*ones(1,(n_elem+1)); else coord_y=[coordenadas(inic_fin(i,1),2):(coordenadas(inic_fin(i,2),2)-... coordenadas(inic_fin(i,1),2))/n_elem:coordenadas(inic_fin(i,2),2)]; end auxiliar_x=coord_x(2:(length(coord_x)-2))+((coordenadas(inic_fin(i,2),1)-... coordenadas(inic_fin(i,1),1))/n_elem)*0.5*ones(1,length(coord_x)-3); auxiliar_y=coord_y(2:(length(coord_y)-2))+((coordenadas(inic_fin(i,2),2)-... coordenadas(inic_fin(i,1),2))/n_elem)*0.5*ones(1,length(coord_y)-3); coord_plotear_x=[coord_plotear_x;auxiliar_x']; coord_plotear_y=[coord_plotear_y;auxiliar_y']; clear coord_x;clear coord_y;clear auxiliar_x;clear auxiliar_y; end for k=1:1:nbarra %for i=2:1:(length(coord_betas)) for i=(k-1)*(n_elem-2)+2:1:k*(n_elem-2) if betas(i)<=interv_beta(2) plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[0 0],'c') title('Posición del elemento dañado en la estructura') hold on end if betas(i)>interv_beta(2) if betas(i)<=interv_beta(3) plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[0 0],'b') hold on end end if betas(i)>interv_beta(3) if betas(i)<=interv_beta(4) plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[0 0],'y') hold on end end if betas(i)>interv_beta(4) if betas(i)<=interv_beta(5) plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[0 0],'g') hold on end end if betas(i)>interv_beta(5) if betas(i)<=interv_beta(6) plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[0 0],'r') hold on end end end end %Damos alturas:z=beta for k=1:1:nbarra %for i=2:1:(length(coord_betas)) for i=(k-1)*(n_elem-2)+2:1:k*(n_elem-2) plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[betas(i-1) betas(i)],'k-') end end for i=2:1:length(betas) if betas(i-1)==maximobeta plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[0 0],'r-x') plot3([coord_plotear_x(i-1) coord_plotear_x(i)],[coord_plotear_y(i-1) coord_plotear_y(i)],[betas(i-1) betas(i)],'r-x') end end plot3(coordenadas(:,1),coordenadas(:,2),zeros(length(coordenadas(:,1))),'bo') figure(2) plot([1:1:length(betas)],betas) axis([-5 length(betas)+2 0 1.5]) title('Valores de BETA') xlabel('Número de elementos');ylabel('BETA') if(0) figure(2) plot(coord_plota,beta_1b,'b') hold on plot(coord_plotb+coord_plota(length(coord_plota))*ones(1,length(coord_plota)),beta_2b,'g') plot(-coord_plotc+2*coord_plota(length(coord_plota))*ones(1,length(coord_plota))... +coord_plotb(length(coord_plotb))*ones(1,length(coord_plotb)),beta_3b,'r') legend('barra 1','barra 2','barra 3') title('Valores de BETA') axis([-0.1 3.1 minimobeta maximobeta]) xlabel('Coordenada de la linea media (m)');ylabel('BETA') end e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


ANÃLISIS COMPARATIVO DE DETECCIÓN DE DAÑO EN ESTRUCTURAS MEDIANTE LA TRANSFORMADA WAVELET Y PARÃMETROS CLÃSICOS

: Feberero Moreno, Miguel A.
: Ingeniería Industrial
Contenido del proyecto: