MATLAB: String Vector for-loop

for loopMATLABstring array

I recently collected some point data, and the trial number or independent variable is a string, such as:
X = ['a1' 'a2' 'a3' 'b1' 'b2' 'b3'];
I would like to create a for loop using the [1 2 3 1 2 3]. Is there any way to seperate the number and letter, or a way to us a string such as this as a for loop condition.
I do not want to use the index, and am trying to make this work for a much larger set of data, so I am trying to have it work automatically.

Best Answer

>> str = {'a1','a2','a3','b1','b2','b3'};
>> vec = sscanf([str{:}],'%*[ab]%f',[1,Inf])
vec =
1 2 3 1 2 3
>> vec = str2double(regexp(str,'\d+$','match','once'))
vec =
1 2 3 1 2 3
>> vec = str2double(regexprep(str,'^[a-z]+',''))
vec =
1 2 3 1 2 3
Related Question