Crear un vector de índice basado en valores iniciales y finales [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Operador de colon eficiente para múltiples puntos de inicio y fin 4 respuestas

Basado en una matriz que contiene varias filas del principio (primera columna) y el final (segunda columna) de un intervalo de índice, me gustaría crear un vector de todo el índice. Por ejemplo, siA = [2 4; 8 11 ; 12 16], Me gustaría tener el siguiente vectorindex = [2 3 4 8 9 10 11 12 13 14 15 16].

Estoy buscando la forma más rápida de hacerlo. Por ahora, encontré solo dos posibilidades:

1) con un bucle

index = [];
for n = 1:size(A, 1)
    index = [index A(n, 1):A(n, 2)];
end

2) conarrayfun

index = cell2mat(arrayfun(@(n) A(n, 1):A(n, 2), 1:size(A, 1), 'uni', 0));

Curiosamentearrayfun es mucho más rápido que la versión de bucle, y no sé por qué. Además, uso una conversión de celda a estera, así que es extraño. ¿Qué piensas sobre eso? ¿Tienes alguna otra sugerencia?

Gracias por tu ayuda

Respuestas a la pregunta(2)

Su respuesta a la pregunta