MATLAB: Unable to assign the classIds since there are different number of elements on both sides

unable to assign

my error:Unable to perform assignment because the left and right sides have a different number of elements.
Error in tc14god>ReadOutexTxt (line 188) classIDs(i) = str2num(tline(index+5:end));
Error in tc14god (line 43) [trainIDs, trainClassIDs] = ReadOutexTxt(trainTxt);
I have attached my code with this. please help me to resolve the error. Thanks in advance

Best Answer

Your code does not protect against the possibility that the string you are converting is empty or has multiple numbers. str2num is essentially eval() of the string, able to return empty or a vector of values.
str2double on the other hand always returns a scalar even on empty inputń it returns nan if the input is not a scalar