Program PROCESS
real tiempo ,amplitud !valores del archivo de datos
real apc,bpc,cpc,anc,bnc,cnc !valores a interpolar
rea...
bpl(k)=amplitud(m+1)
tapl(k)=tiempo(m)
tbpl(k)=tiempo(m+1)
!INTERPOLACION LINEAL
pendientepos(k)=(bpl(k)-apl(k))/(tbpl(k)-...
+tapc(k))
a1p(k)= apc(k)- ((bpc(k)-apc(k))/(tbpc(k)-tapc(k)))*tapc(k)+
a3p(k)*tapc(k)*tbpc(k)
!ENCONTRAR EL MAXIMO DE LA F...
Interceptoneg(j)=exp(log(-ymaxn(i))-dampingneg(j)*xmaxn(i))
!AMPLITUD CON LA FUNCION EXPONENCIAL
Amplitudmedianeg1(j)=-exp...
promediox=0
promedioy=0
do i=1,k
promediox=promediox+(xmaxp(i)/k)
ymaxp(i)=exp(ymaxp(i))
ymaxp(i)=log(ymaxp(i))
promedioy=...
!coeficiente3=0
!coeficiente4=0
!coeficiente5=0
!coeficiente6=0
!coeficiente7=0
!REGRESION DE LOS VALORES DADOS POR EL INC...
!coeficiente3=0
!coeficiente4=0
!coeficiente5=0
!coeficiente6=0
!coeficiente7=0
!REGRESION DE LOS VALORES DADOS POR EL INC...
Próxima SlideShare
Cargando en…5
×

Procesamiento

44 visualizaciones

Publicado el

Publicado en: Motor
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
44
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Procesamiento

  1. 1. Program PROCESS real tiempo ,amplitud !valores del archivo de datos real apc,bpc,cpc,anc,bnc,cnc !valores a interpolar real tapc,tbpc,tcpc,tanc,tbnc,tcnc !valores a interpolar real a1p,a2p,a3p,xmaxp,ymaxp !Parametros de la ecuacion cuadratica real a1n,a2n,a3n,xmaxn,ymaxn !Parametros de la ecuacion cuadratica real Periodopos,Periodoneg,dampingpos,dampingneg real Amplitudmediapos,Amplitudmedianeg real Amplitudmediapos1,Amplitudmedianeg1,Interceptopos,Interceptoneg !valor de la amplitud exponencial real pendientepos,interceptoposl,xcero,xceron,tcero,tceron !Interpolacion lineal real ymaxnp dimension tiempo (100000),amplitud(10000) !valores del archivo de datos dimension apc(100000),bpc(100000),cpc(100000),anc(100000),bnc(100000),cnc (100000) !valores a interpolar dimension tapc(100000),tbpc(100000),tcpc(100000),tanc(100000),tbnc(100000),tcnc (100000) !valores a interpolar dimension a1p(100000),a2p(100000),a3p(100000),xmaxp(100000),ymaxp(100000) !Parametros de la ecuacion cuadratica dimension a1n(100000),a2n(100000),a3n(100000),xmaxn(100000),ymaxn(100000) !Parametros de la ecuacion cuadratica dimension Periodopos(100000),Periodoneg(100000),dampingpos(100000),dampingneg(100000) dimension Amplitudmediapos(100000),Amplitudmedianeg(100000) dimension Amplitudmediapos1(100000),Amplitudmedianeg1(100000),Interceptopos(100000),Interc eptoneg(100000) !valor de la amplitud exponencial dimension apl(100000),bpl(100000),tapl(100000),tbpl(100000),pendientepos(100000),intercept oposl(100000),xcero(100000),xceron(100000),tcero(100000),tceron(100000) !Interpolacion lineal dimension ymaxnp(100000) CHARACTER(30) ARCHDAT ARCHDAT="ANGULO.TXT" OPEN(6,FILE=ARCHDAT,STATUS="OLD") READ(6,*) N ! N es entero !write(*,*) N do i=1,n READ(6,*) tiempo (i),amplitud(i) !write(*,*) tiempo (i),amplitud(i) !write(*,10)tiempo(i),amplitud(i) !10 format(/'El tiempo es:',5x,f15.3,'[Seg]',/,'la amplitud es:',5x,f13.3,'[ª]') ! , o ,/, para saltar, f15.3 numero de caracteres y decimales end do k=0 t=0 do m=1,n-1 if (amplitud(m).gt.0.0.and.amplitud(m+1).lt.0.0)then k=k+1 apl(k)=amplitud(m)
  2. 2. bpl(k)=amplitud(m+1) tapl(k)=tiempo(m) tbpl(k)=tiempo(m+1) !INTERPOLACION LINEAL pendientepos(k)=(bpl(k)-apl(k))/(tbpl(k)-tapl(k)) interceptoposl(k)= apl(k)- pendientepos(k)*tapl(k) xcero(k)=-interceptoposl(k) / pendientepos(k) !Write(*,*)xcero(k) else if(amplitud(m).lt.0.0.and.amplitud(m+1).gt.0.0)then t=t+1 apl(t)=amplitud(m) bpl(t)=amplitud(m+1) tapl(t)=tiempo(m) tbpl(t)=tiempo(m+1) !INTERPOLACION LINEAL pendientepos(t)=(bpl(t)-apl(t))/(tbpl(t)-tapl(t)) interceptoposl(t)= apl(t)- pendientepos(t)*tapl(t) xceron(t)=-interceptoposl(t) / pendientepos(t) !Write(*,*)xceron(t) end if end do !Write(*,*)k,t write(*,*)'la interceccion con la abcisa para los positivos es: ' ll=1 do i=1,k-1 tcero(ll)=xcero(i+1)-xcero(i) ll=ll+1 Write(*,*)tcero(ll-1) end do write(*,*)'la interceccion con la abcisa para para los negativos: ' kk=1 do i=1,t-1 tceron(kk)=xceron(i+1)-xceron(i) kk=kk+1 Write(*,*)tceron(kk-1) end do k=0 !contador de el numero de valores maximos l=0 !contador de el numero de valores minimos do i=1,n-2 if (amplitud(i).gt.0.0)then if (amplitud(i+1).ge.amplitud(i).and.amplitud(i+1).gt.amplitud(i+2))then k=k+1 apc(k)=amplitud(i) bpc(k)=amplitud(i+1) cpc(k)=amplitud(i+2) tapc(k)=tiempo(i) tbpc(k)=tiempo(i+1) tcpc(k)=tiempo(i+2) !BUSCAR LOS PARAMETROS DE LA ECUACION CUADRATICA a3p(k)=(2/(tcpc(k)-tapc(k)))*(((cpc(k)-apc(k))/(tcpc(k)- tapc(k)))-((bpc(k)-apc(k))/(tbpc(k)-tapc(k)))) a2p(k)= ((bpc(k)-apc(k))/(tbpc(k)-tapc(k)))-a3p(k)*(tbpc(k)
  3. 3. +tapc(k)) a1p(k)= apc(k)- ((bpc(k)-apc(k))/(tbpc(k)-tapc(k)))*tapc(k)+ a3p(k)*tapc(k)*tbpc(k) !ENCONTRAR EL MAXIMO DE LA FUNCION xmaxp(k)=-a2p(k)/(2*a3p(k)) ymaxp(k)=a1p(k)+a2p(k)*xmaxp(k)+a3p(k)*xmaxp(k)*xmaxp(k) !write(*,*)xmaxp(k),ymaxp(k),k end if else if(amplitud(i+1).le.amplitud(i).and.amplitud(i+1).lt.amplitud(i+2))then l=l+1 anc(l)=amplitud(i) bnc(l)=amplitud(i+1) cnc(l)=amplitud(i+2) tanc(l)=tiempo(i) tbnc(l)=tiempo(i+1) tcnc(l)=tiempo(i+2) !BUSCAR LOS PARAMETROS DE LA ECUACION CUADRATICA a3n(l)=(2/(tcnc(l)-tanc(l)))*(((cnc(l)-anc(l))/(tcnc(l)- tanc(l)))-((bnc(l)-anc(l))/(tbnc(l)-tanc(l)))) a2n(l)= ((bnc(l)-anc(l))/(tbnc(l)-tanc(l)))-a3n(l)*(tbnc(l) +tanc(l)) a1n(l)= anc(l)- ((bnc(l)-anc(l))/(tbnc(l)-tanc(l)))*tanc(l)+ a3n(l)*tanc(l)*tbnc(l) !ENCONTRAR EL MAXIMO DE LA FUNCION xmaxn(l)=-a2n(l)/(2*a3n(l)) ymaxn(l)=a1n(l)+a2n(l)*xmaxn(l)+a3n(l)*xmaxn(l)*xmaxn(l) !write(*,*)xmaxn(l),l end if end if end do write(*,*)'Las maximas amplitudes para los positivos son: ' j=1 do i=1,k-1 Periodopos(j)=xmaxp(i+1)-xmaxp(i) dampingpos(j)=log(ymaxp(i+1)/ymaxp(i))/Periodopos(j) !AMPLITUD PROMEDIO Amplitudmediapos(j)=(ymaxp(i+1)+ymaxp(i))/2 Interceptopos(j)=exp(log(ymaxp(i))-dampingpos(j)*xmaxp(i)) !AMPLITUD CON LA FUNCION EXPONENCIAL Amplitudmediapos1(j)=exp(log(Interceptopos(j)) +dampingpos(j)*(xmaxp(i)+ (xmaxp(i+1)-xmaxp(i))/2)) !write(*,*)'El T ent.Ampl es: La ampl exp es: La ampl med es: el decremento es: ' !write(*,*)Periodopos(j),Amplitudmediapos1(j),Amplitudmediapos(j),dampingpos(j) j=j+1 end do write(*,*)'Las maximas amplitudes para los negativos: ' j=1 do i=1,l-1 Periodoneg(j)=xmaxn(i+1)-xmaxn(i) dampingneg(j)=log(ymaxn(i+1)/ymaxn(i))/ Periodoneg(j) !AMPLITUD PROMEDIO Amplitudmedianeg(j)=(ymaxn(i+1)+ymaxn(i))/2
  4. 4. Interceptoneg(j)=exp(log(-ymaxn(i))-dampingneg(j)*xmaxn(i)) !AMPLITUD CON LA FUNCION EXPONENCIAL Amplitudmedianeg1(j)=-exp(log(Interceptoneg(j)) +dampingneg(j)*(xmaxn(i)+ (xmaxn(i+1)-xmaxn(i))/2)) !write(*,*)'El T ent.Ampl es: La ampl exp es: La ampl med es: el decremento es: ' !write(*,*)Periodopos(j),Amplitudmedianeg1(j),Amplitudmedianeg(j),dampingneg(j) j=j+1 end do !POSITIVO promediox=0 promedioy=0 do i=1,k promediox=promediox+(xmaxp(i)/k) ymaxp(i)=log(ymaxp(i)) promedioy=promedioy+(ymaxp(i)/k) end do do i=1,k diferenciax=xmaxp(i)-promediox diferenciaxcuadrado=diferenciax**2 diferenciay=ymaxp(i)-promedioy !write(*,*)ymaxp(i),diferenciax,diferenciay,diferenciaxcuad difxdify=diferenciax*diferenciay end do pendientependiente=difxdify/diferenciaxcuadrado pinterceptointercepto=promedioy-pendientependiente*promediox pinterceptointercepto=exp(pinterceptointercepto) write(*,*)promedioy,pendientependiente,pinterceptointercepto !NEGATIVO promedioxn=0 promedioyn=0 do j=1,l promedioxn=promedioxn+(xmaxn(j)/k) !CAMBIANDO A POSITIVO LOS NEGATIVOS ymaxnp(j)=log(-ymaxn(j)) promedioyn=promedioyn+(ymaxnp(j)/k) end do do j=1,l diferenciaxn=xmaxn(j)-promedioxn diferenciaxcuadradon=diferenciaxn**2 diferenciayn=ymaxnp(j)-promedioyn !write(*,*)ymaxp(i),diferenciax,diferenciay,diferenciaxcuad difxdifyn=diferenciaxn*diferenciayn end do pendientependienten=difxdifyn/diferenciaxcuadradon pinterceptointercepton=promedioyn-pendientependienten*promedioxn pinterceptointercepton=exp(pinterceptointercepton) write(*,*)promedioyn,pendientependienten,pinterceptointercepton do while(pinterceptointercepto.lt.pinterceptointercepton)!.or.pendientependienten.g t.pendientependiente) !POSITIVO
  5. 5. promediox=0 promedioy=0 do i=1,k promediox=promediox+(xmaxp(i)/k) ymaxp(i)=exp(ymaxp(i)) ymaxp(i)=log(ymaxp(i)) promedioy=promedioy+(ymaxp(i)/k) ymaxp(i)=ymaxp(i)-0.018 end do do i=1,k diferenciax=xmaxp(i)-promediox diferenciaxcuadrado=diferenciax**2 diferenciay=ymaxp(i)-promedioy difxdify=diferenciax*diferenciay end do pendientependiente=difxdify/diferenciaxcuadrado pinterceptointercepto=promedioy-pendientependiente*promediox pinterceptointercepto=exp(pinterceptointercepto) !NEGATIVO promedioxn=0 promedioyn=0 do j=1,l ymaxn(j)=-(ymaxn(j)) ymaxn(j)=log(ymaxn(j)) end do do j=1,l promedioxn=promedioxn+(xmaxn(j)/l) promedioyn=promedioyn+(ymaxn(j)/k) !CAMBIANDO A POSITIVO LOS NEGATIVOS ymaxn(j)=ymaxn(j)-0.018 end do do j=1,l diferenciaxn=xmaxn(j)-promedioxn diferenciaxcuadradon=diferenciaxn**2 diferenciayn=ymaxnp(j)-promedioyn difxdifyn=diferenciaxn*diferenciayn end do pendientependienten=difxdifyn/diferenciaxcuadradon pinterceptointercepton=promedioyn-pendientependienten*promedioxn pinterceptointercepton=exp(pinterceptointercepton) write(*,*)1,promedioy,pendientependiente,pinterceptointercepto write(*,*)2,promedioyn,pendientependienten,pinterceptointercepton !pause end do
  6. 6. !coeficiente3=0 !coeficiente4=0 !coeficiente5=0 !coeficiente6=0 !coeficiente7=0 !REGRESION DE LOS VALORES DADOS POR EL INCLINOMETRO !do i=1,k !coeficiente1=coeficiente1+xmaxp(i)*Amplitudmediapos(i) !coeficiente2=coeficiente2+tiempo(i) !coeficiente3=coeficiente3(1)+Amplitudmediapos(i) !coeficiente4=coeficiente4+tiempo(i)**2 !coeficiente5=(coeficiente5+tiempo(i))**2 !coeficiente6=coeficiente6+Amplitudmediapos(i)**2 !coeficiente7=(coeficiente7+Amplitudmediapos(i))**2 !coeficientecorr=(N*coeficiente1-coeficiente2*coeficiente3)/(((N*coeficiente4- coeficiente5)**0.5)*((N*coeficiente6-coeficiente7)**0.5) !coeficientecorr=coeficientecorr**2 !end do end
  7. 7. !coeficiente3=0 !coeficiente4=0 !coeficiente5=0 !coeficiente6=0 !coeficiente7=0 !REGRESION DE LOS VALORES DADOS POR EL INCLINOMETRO !do i=1,k !coeficiente1=coeficiente1+xmaxp(i)*Amplitudmediapos(i) !coeficiente2=coeficiente2+tiempo(i) !coeficiente3=coeficiente3(1)+Amplitudmediapos(i) !coeficiente4=coeficiente4+tiempo(i)**2 !coeficiente5=(coeficiente5+tiempo(i))**2 !coeficiente6=coeficiente6+Amplitudmediapos(i)**2 !coeficiente7=(coeficiente7+Amplitudmediapos(i))**2 !coeficientecorr=(N*coeficiente1-coeficiente2*coeficiente3)/(((N*coeficiente4- coeficiente5)**0.5)*((N*coeficiente6-coeficiente7)**0.5) !coeficientecorr=coeficientecorr**2 !end do end

×