MATLAB Answers

How can the output be written in a new column (without overwriting the previous one)

1 view (last 30 days)
Shel
Shel on 11 Feb 2019
Commented: M on 12 Feb 2019
I am processing several images and use loop for the series. I need to write the output of each loop in a new line beside the previous column.
for example: for the first loop I want data in column 2, for the second loop I want data in column 3 beside column 2
would you help me please?

  0 Comments

Sign in to comment.

Answers (1)

M
M on 11 Feb 2019
Edited: M on 11 Feb 2019
You can use cell for that. You can try and adapt the following example:
a=cell(3,1);
for i=1:3
a{i}=ones(i,1);
end
a =
3×1 cell array
{[ 1]}
{2×1 double}
{3×1 double}

  7 Comments

Show 4 older comments
Shel
Shel on 11 Feb 2019
Thank you very much.
so as I see the output file should be filled out horizontally and it is not possible to do it vertically (first col1, then col2 and ...), right?
Shel
Shel on 11 Feb 2019
here is my code of the loop:
for thresh=240:300
fprintf(file1, '%10s %2.5f \r\n', 'Threshold', thresh);
for i=1:totalfile
fname=['8--7-',num2str(i), '.dcm'];
indicom=dicomread(fullfile(source_dir, fname));
T=thresh;
indicom(find(indicom<T))=0;
img_NB=length(indicom(indicom==0));
fprintf(file1,' %2.0f %10s %2.5f \r\n', i, ' ', img_NB);
end
end
fclose(file1);
M
M on 12 Feb 2019
the output file should be filled out horizontally and it is not possible to do it vertically
You can do it both ways, you have to adapt the indexing.

Sign in to comment.

Sign in to answer this question.