arrangement problem with writing cellArray to txt file.

조회 수: 1 (최근 30일)
sermet
sermet 2014년 6월 30일
편집: dpb 2014년 6월 30일
[fileName, filePath] = uiputfile('*.txt', 'Create a file:')
if ~ischar(fileName)
return;
end
fileID = fopen(fullfile(filePath, fileName), 'w');
coordinates=[32.56744567,33.54543333;32.55546543,33.77786567;32.66874567,33.44843753];
coordinates=num2cell(coordinates);
ids=[{'a'};{'b1'};{'3'}];
cellArray=[ids,coordinates];
for k=1:size(cellArray,1)
for m=1:size(cellArray,2)
% get the data type of the element in the cell array
dataType = class(cellArray{k,m});
% element data type determines how we write it to file
if strcmpi(dataType,'char')
fprintf(fileID,'%s\t',cellArray{k,m});
elseif strcmpi(dataType,'double')
fprintf(fileID,'%.10f\t',cellArray{k,m});
% etc. for each data type in the cell array
end
end
fprintf(fileID,'\n');
end
fclose(fileID);
%I need to write cellArray into txt file as it look below;
a 32.56744567 33.54543333
b1 32.55546543 33.77786567
3 32.66874567 33.44843753
%my codes writes it horizontally.

채택된 답변

dpb
dpb 2014년 6월 30일
편집: dpb 2014년 6월 30일
>> [nr nc]=size(cellArray);
>> fmt=['%5s' repmat('%8.3f',1,nc) '\n'];
>> for i=1:nr
fprintf(fmt,cellArray{i,1},[cellArray{i,2:end}]),end
a 32.567 33.545
b1 32.555 33.778
3 32.669 33.448
>>

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Variables에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by