¿Cómo crear la función np.eye en JavaScript? ¿O cuál sería el equivalente numpy.eye en JavaScript?
Me gustaría una función que crea la "matriz de identidad" en 2 dimensiones, y puede cambiar el número de filas, columnas y el índice de la diagonal. https://numpy.org/devdocs/reference/generated/numpy.eye.html
Esto no se ocupa de M,N,k @Andy
function eye(n){ var t=[]; for(var i=0;i<n;i++){ var p=[] for(var j=0;j<n;j++){ p.push(j==i?1:0) } t.push(p) }}Esto no se ocupa de M,N,k
Ya casi llega, solo tiene que poner los parámetros adicionales allí, como el ciclo externo (filas) se ejecuta en N , el ciclo interno (columnas) se ejecuta en M , y la comparación sería ji===k :
function eye(N,M,k) { var t = []; for (var i = 0; i < N; i++) { var p = [] for (var j = 0; j < M; j++) { p.push(j - i === k ? 1 : 0) } t.push(p) } return t; } let NMk=prompt("N,M,k").split(",").map(x=>parseInt(x)); console.log(eye(...NMk).map(x=>x.join())); Intente ingresar algo como 3,3,0 ("clásico") o 2,3,1 (uno "elegante") cuando se le solicite.
(Y no se preocupe por las cadenas de impresión de fragmentos, eso es solo join() , para mantener la salida pequeña y sin mucha codificación).