Concatenate cell array with double matrix
7 次查看(过去 30 天)
显示 更早的评论
I need to create a (m + 1)*n cell matrix concatenating a cell array of strings named NomiDopo with a m*n matrix of double, DataSet. The final result must be a (m + 1)*n cell matrix of string, otherwise the xlswrite function does not write the correct values in the output spreadsheet. This means converting the original matrix of double DataSet into a matrix of string. I tried in many ways, also using the mat2cell function, but it didn't work. Can anybody help me, please? Thank you!
1 个评论
Stephen23
2015-6-1
Are you using xlswrite? This function accepts mixed data in a cell array, have you tried using this? What happens that you do not expect? Are the values represented incorrectly?
采纳的回答
Stephen23
2015-6-1
编辑:Stephen23
2015-6-1
>> A = {'header_1','header_2'};
>> B = [0.1,2.3;4.5,6.7;8.9,NaN]
B =
0.1000 2.3000
4.5000 6.7000
8.9000 NaN
>> C = arrayfun(@num2str,B,'UniformOutput',false)
C =
'0.1' '2.3'
'4.5' '6.7'
'8.9' 'NaN'
>> [A;C]
ans =
'header_1' 'header_2'
'0.1' '2.3'
'4.5' '6.7'
'8.9' 'NaN
2 个评论
Stephen23
2015-6-2
Strange, as xlswrite should work with mixed data (it states this explicitly in the documentation). Can you show exactly how it was being used? It would be interesting to see the data (either upload a .mat file or as text within a comment).
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!