MATLAB: Cellstr(ch​ar(alarm_n​o(:).’)) is not working properly; for same number it is showing empty and for same it was showing exact value.

cellstrcharMATLABmerge of rowsnumerical problemsolution

Hi. I have two data sets; one is keys (A)and another one is variables to each keys (B) Here B is alarm_no whose length is 36*1. The reason I am using cellstr(char(x)) because for each A(keys) there are many values in B. In short I want data = [A(1) B(:,1)].
since dimensions are not matching; A is 1×1 now and B is let's say Px1. I am using cellstr which makes it 1×1 cell.
raw_data = cellstr(char(alarm_type(:).')); %alarm_type is B here and I am making it 1x1 cell to get desired
retrieved_data = double(cell2mat(raw_data)); %to check if original data is extracted or not
but unfortunately, I can't last element is empty. last element of original data is 9 which is also repeated in many other places but I am getting 9 back from those rows but not the last one.
original_data1 = [2 9 3 9 9 9 2 1 4 9 2 0 2 3 4 2 3 2 3 0 2 9 3 1 1 0 1 1 0 2 3 4 4 4 4 9]
retrieved_data = [2 9 3 9 9 9 2 1 4 9 2 0 2 3 4 2 3 2 3 0 2 9 3 1 1 0 1 1 0 2 3 4 4 4 4]
size(original_data1)= 36x1
size(retrieved_data)= 35x1
raw_data
' '
If anyone of you know why this is happening and how to solve this?

Best Answer

cellstr trims trailing whitespace, and char(9) happens to be tab which is whitespace.