MATLAB Answers

Shel
0

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

Asked by Shel
on 11 Feb 2019
Latest activity Commented on by 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.

1 Answer

Answer by M
on 11 Feb 2019
Edited by 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

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?
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);
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.