Saving a uitable contents for any number of columns.

1 Ansicht (letzte 30 Tage)
Jason
Jason am 13 Mär. 2017
Bearbeitet: Brandon Eidson am 16 Mär. 2017
I have the following code to save the contents of a uitable but for a fixed number of columns. How can I make it generic so it will work with any number of columns?
inputdata=(get(handles.uitableDark,'Data'))
%inputdata=cell2mat(inputdata)
[name,path] = uiputfile('C:\DarkFPN.txt','Save file name');
file=fullfile(path,name)
%save(file,'inputdata','-ascii');
fid = fopen(file,'wt');
if fid > 0
[nrows,ncols] = size(inputdata);
for row = 1:nrows
inputdata{row,:}
fprintf(fid,'%.0f %.2f %.2f %.2f %.2f\n',inputdata{row,:});
end
fclose(fid);
end
Thanks
Jason

Akzeptierte Antwort

Brandon Eidson
Brandon Eidson am 16 Mär. 2017
Bearbeitet: Brandon Eidson am 16 Mär. 2017
Hey Jason, assuming your various-column-numbered files have a repeatable format, you can create the FORMAT string based on your number of columns like in the code below.
[nrows, ncols] = size(inputdata);
formatString = '%.0f';
for col = 2:ncols
formatString = strcat(formatString, ' %.2f');
end
formatString = strcat(formatString, '\n');
Then you can pass "formatString" as an argument to the "fprintf" function.

Weitere Antworten (0)

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by