cellstr(char(alarm_no(:).')) is not working properly; for same number it is showing empty and for same it was showing exact value.
1 次查看(过去 30 天)
显示 更早的评论
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 1x1 now and B is let's say Px1. I am using cellstr which makes it 1x1 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?
2 个评论
Adam Danz
2018-8-6
Please provide a minimal working example of the error you're getting. This should include a sample of your data that causes the problem, the code the causes the problem, and a clear description of what the problem is.
采纳的回答
Walter Roberson
2018-8-6
cellstr trims trailing whitespace, and char(9) happens to be tab which is whitespace.
3 个评论
Walter Roberson
2018-9-19
This is consistent with what I wrote: cellstr trims trailing whitespace, so only char(9) at the end are being thrown away.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!