Matlab lista de comprensión

¿Puedo escribir lo siguiente en una sola línea?

x = [1,3,5]
res = zeros(1,size(x,2));
for i=1:size(x,2);
    res(i) = foo(x(i);
end;

Supongamos que la función foo no maneja los arreglos como se esperaba. En mi caso, foo devuelve un escalar incluso cuando da una matriz como argumento.

En Python, por ejemplo, se vería así:

x = [1,3,5]
res = [foo(y) for y in x]

Respuestas a la pregunta(2)

Su respuesta a la pregunta