Converting cell array with various entry types
1 次查看(过去 30 天)
显示 更早的评论
Hello, I have the following lines of code:
fid = fopen('singleatom.txt','r'); %read as a single cell
C = textscan(fid,'%s');
fclose(fid);
C = C{1,1}(1:5)
which produces the following output:
C =
'Eu3+'
'1'
'10.06037350'
'-4.673610300'
'-1.834337367'
Could anyone explain to me how you would go about converting the cell array into a format where the data could be utilised, as this does not appear to be possible in its current form. The data represents:
C(1) = atom type
C(2) = atom number
C(3) = x-coordinate
C(4) = y-coordinate
C(5) = z-coordinate
So, for instance, how would I convert the data so that I could proceed to plot the atom's position on a scatter plot and label it with the identifiers?
Any assistance would be greatly appreciated.
Kind regards,
Tom
0 个评论
采纳的回答
Azzi Abdelmalek
2013-10-28
C ={'Eu3+' 'Eu4+'
'1' '2'
'10.06037350' '10.05026240'
'-4.673610300' '-5.562509200'
'-1.834337367' '-2.945448478'}
% you have the cells in the first line are char type
a1=C(1,:)
% the other cells are double type
a2=str2double(C(2:end,:))
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!