Retraso hacia adelanteEstoy intentando escribir una fórmula que funcione con una función de retardo hacia adelante. Tengo varios conjuntos de datos con valores que son una función del tiempo (1200 Hz). Quiero modificar estas columnas para que el valor máximo sea igual a 0,5 segundos, de modo que cuando grafique los datos, pueda hacerlo donde los valores máximos se superpongan. Pude escribir esta fórmula para que funcione por encima del máximo de la columna, pero no puedo lograr que funcione en una función de retardo inverso.
Si(
:A == Columna Máxima( :A ), 0.5,
Retraso(Col Máximo( :A ), 1 ), Retraso( :B, 1 ) + 1 / 1200,
Retraso (columna máxima (: A), -1), Retraso (: B, -1) - 1 / 1200
)
Como puedes ver en la vista previa, funciona después de la

Organización de contenidoRe: Retraso hacia adelanteCreo que esto es lo que necesitas
If(
:A == Col Maximum( :A ), 0.5,
Lag( :A, 1 ) == Col Maximum( :A ), Lag( :B, 1 ) + 1 / 1200,
Lag( :A, -1 ) == Col Maximum( :A ), Lag( :B, -1 ) - 1 / 1200
)
Por cierto, es mucho más práctico para el encuestado que los datos de muestra no solo se muestren como una imagen, sino que también estén en un formato legible por máquina. Sería bueno que adjuntaras tu tabla de datos.
Re: Retraso hacia adelanteHola, ¡gracias por la respuesta!
No obtuve exactamente lo que buscaba. Gracias por la nota sobre adjuntar datos, ya que esta es mi primera pregunta; no estaba seguro del protocolo adecuado. Adjunto los datos a continuación.
Como verá, la fórmula de salida de la columna B crea el producto deseado por encima de 0,5, contando 1/1200 segundos hacia arriba desde allí, pero necesito que cuente hacia atrás 1/1200 de segundo desde 0,5, que es donde tengo dificultades, ya que depende del columnmax de la columna A.
Re: Retraso hacia adelanteSu declaración IF() se está interpretando tal como la ha escrito.
Sin embargo,
Lag( Col Maximum( :A ), 1 )
devuelve el valor de 2693.162203 que se interpretará como VERDADERO, por lo que entonces
Lag( :B, 1 ) + 1 / 1200
Se ejecutará. La tercera comparación nunca se ejecutará, ya que la segunda siempre devolverá un valor positivo.
¿Qué estás esperando?
Lag( Col Maximum( :A ), 1 )
¿regresar?