Waves de dos dimensiones en Igor Pro
Una matriz es una wave con dos dimensiones, y MatrixOP es la vía rápida para recorrerla.
Function/WAVE ColumnMeans(WAVE m)
Variable rows = DimSize(m, 0), cols = DimSize(m, 1)
Make/O/N=(cols)/D means
MatrixOP/O means = sumCols(m) / rows
Make/O/N=(rows, cols)/D centered
centered = m[p][q] - means[q]
Printf "%d by %d, centered\r", rows, cols
return means
End
Cómo funciona
w[i][j]indexa filas y columnas;pyqlo hacen en una asignación.MatrixOPcorre una expresión completa en una sola pasada, en C.DimSize(w, 0)es el número de filas;DimSize(w, 1), el de columnas.
Palabras clave y builtins usados aquí
EndFunctionVariableWAVEreturn
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 271
- Tokens
- 78
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 55 segundos.
Paso 4 de 4 en Señales y matrices; paso 14 de 16 en Waves y análisis.