Por ejemplo, dado i=5
y n=8
, quiero generar [0;0;0;0;1;0;0;0]
. En concreto, quiero generar el vector v
de modo que:Matlab/Octave one-liner para un vector n con un 1 en la posición i-ésima
v = zeros(n,1);
v(i) = 1;
¿Hay alguna manera (razonable) para hacer esto en una línea?
posibles duplicados (generalización de esta pregunta): [Crear matriz de indicadores] (http://stackoverflow.com/questions/6150174/creating-indicator-matrix), [Matlab/Octave 1-of-K representation] (http : //stackoverflow.com/q/8054258/97160) o [Matlab, vector entero en matriz binaria sin bucle] (http://stackoverflow.com/q/8116991/97160) – Amro