MATLAB: How to convert into new coordinates over a loop

matrices

I am working with a set of vectors for a calculation: the vectors are obtained in spherical polar coordinates and I then need to convert them all so that they are in Cartesian coordinates.
Basically, I have a matrix where I store the positions of a set of N vectors in spherical polar coordinates. So the first row is composed of the theta component of each of the vectors, the second row is the phi component, and the third is the radial coordinate and I would then like to form a new matrix which is the same but now the first row is the x component, the second row is the y component, and the third row is the z component. However, when I try to create this new matrix, MATLAB just says that the dimensionality of the matrices doesn't work, for example:
r(1,1:10)= sin(alpha)*cos(phi);
where alpha and phi have been specified as the row vectors formed from the first and second rows of the original matrix.
The example above is if I were to try to create the first row of the new matrix for 10 vectors in the original spherical polar coordinates. I have looked it up and the advice is that I should basically make MATLAB to do it by looping over the combinations which are needed but I am unsure how to do this, could someone advise?

Best Answer

This task might be easier with the sph2cart (link) function.