Output to file not working correctly

Hello. So I have an input file which is a matrix in formatted form. Now I want to do some operations to change a couple of rows of the matrix and then output the new matrix to another file.
Here I load original file into a matrix (feat), and integers (nb and dim) :
[feat nb dim] = loadFeatures([dataset_dir,Lname{i},'/img',num2str(j),'.mser']);
These are the operations I perform on the matrix feat to insert new values:
var1 = feat(3);
var2 = feat(4);
var3 = feat(5);
t1 = var3-var1;
t2 = (t1 + sqrt(t1.^2 + 4*(var2.^2))/2*var2);
th = atan(t2);
sc = 1;
Now, what I want to do is along with the first 2 rows of the natrix(feat), I want to store a row (th) and sc( a vector filled with the value sc):
for ii = 1:size(1,nb)
fprintf(fid,'%g\t',feat(1,ii),feat(2,ii),sc,th(ii));
fprintf(fid,'\n');
end
fclose(fid)
However, all this does is store the values for only one column. The rest of the columns are somehow ignored.
I am stuck here, and desperately need to figure this out. Any help here would be appreciated. Thank you for your patience.

Antworten (1)

Stalin Samuel
Stalin Samuel am 26 Mai 2016

0 Stimmen

fprintf(fid,'%g\t',feat(1,ii),feat(2,ii),sc,th(ii));
%replaced by
fprintf(fid,'%g\t%g\t%g\t%g\t',feat(1,ii),feat(2,ii),sc,th(ii));

1 Kommentar

Utkarsh Gupta
Utkarsh Gupta am 27 Mai 2016
Bearbeitet: Utkarsh Gupta am 27 Mai 2016
I tried that and I am still getting a single line (single column) as output. As before. I tried outputting some of the matrices ( feat) and they all output the result they're supposed to. I do not know what else to check for here.

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Gefragt:

am 26 Mai 2016

Bearbeitet:

am 27 Mai 2016

Community Treasure Hunt

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

Start Hunting!

Translated by