How to slice a struct array?
No problem - just use :
arr = [x.a];
It will concat all of the values that you need. If you have a more complex data, you can use the curly bracers:
b(1).x = 'John';
b(2).x = 'Doe';
arr = {b.x};
For a multi-dimensional array, you need
reshape([x.a], size(x))