I am wondering if this is possible. My code looks like this:
indexStop = find(firstinSeq(x,4) ~= ...
littledataPassed(y:length(littledataPassed),4), 1, 'first');
for z= 0:(n-1)
indexProcess = find((littledataPassed(y:y+indexStop-1,6) == 1 & ...
littledataPassed(y:y+indexStop-1,2) == firstinSeq(x,2) & ...
littledataPassed(y:y+indexStop-1,5) == z), 1, 'first');
if isempty(indexProcess)
msgLength[n](countmsgLength[n],:)= [firstinSeq(x,:) [0 0 0 0 0 0]];
else
msgLength[n](countmsgLength[n],:)= [firstinSeq(x,:) ...
littledataPassed(y+indexProcess-1,:)];
end
countmsgLength[n]= countmsgLength[n] + 1;
end
I am hoping to have everywhere that reads [n] be switched to the actual value of n, such that I could use this to add data to nine different variables in the format msgLength#. I have tried searching tutorials and what not but haven’t seen anything on the topic.
It’s almost always better to use arrays or cell arrays to store data than to create a bunch of variables named
a1,a2,a3, etc. For example, you can initializemsgLengthas a cell array withnelements:And you can access cells of
msgLengthusing curly braces:Your variable
countmsgLengthcan just be a regular numeric array, since it appears to only storenvalues. You would just have to change the square brackets to parentheses (i.e.[n]to(n)).However, if you really want to create
nseparate variables, you will likely end up using the EVAL function. This question and this question show some examples of how to create variables names using the value of another variable.