MATLAB: Using loops to assign numerically assigned variables

arrayindexingvariables

Hello all. Sorry for the confusing question subject line, but I felt it best outlined it.
I know that I can assign variables to text files that are in numerical order, such as file1.txt, file2.txt, etc can be assigned to variables automatically by using a line such as
file=['file' num2str(wfm) '.txt'];
Then can I do a similar thing if have variables that have been assigned in succession of numbers in a loop instead of assigning each one, and also to assign the first few elements of them? Such as: Instead of
b1=14+value1(1:40)
b2=14+value2(1:40)
b3=14+value3(1:40)
How would i code it so it does for i=1:3 ['b' num2str(i)]=14+['value' num2str(i)](1:40); end
By the way, I am asking for this method because in my application, value1,value2,and value3 are of different lengths and therefore a simple assignment of variables to one variable with an index won't work.
Thanks in advance for your help.
Sam