MATLAB Answers

Insertion of header in the first row of .txt file

4 views (last 30 days)
Turbulence Analysis
Turbulence Analysis on 19 Aug 2020
Commented: KSSV on 20 Aug 2020
Hi,
I need to insert below header file in the first row of the each txt file, please assist me in how to do this..
#DaVis 8.4.0 2D-vector 12 62 75 "position" "mm" "position" "mm" "velocity" "m/s"
for k = 1:1:5
UFF = X_filter(1:ni*nk,k);
VFF = X_filter(1+ni*nk:2*ni*nk,k);
UFF1 =reshape (UFF,ni,nk)';
VFF1 =reshape (VFF,ni,nk)';
UUFFF1 = reshape (UFF1, 4650,1);
VVFFF1 = reshape (VFF1,4650,1);
xxx = reshape (X,4650,1);
yyy = reshape (Y,4650,1);
fileName = sprintf('test%d.txt',k);
dlmwrite(fileName,[xxx yyy UUFFF1 VVFFF1],'delimiter','\t' );
end

  2 Comments

Turbulence Analysis
Turbulence Analysis on 19 Aug 2020
Hi,
I tried as follows. It replaces my data in the test.txt file and retains only HEADER in the first row...
filename = 'test2.txt';
fid = fopen(filename,'w');
fprintf(fid, 'HEADER \n');
fclose(fid);

Sign in to comment.

Accepted Answer

KSSV
KSSV on 19 Aug 2020
Edited: KSSV on 19 Aug 2020
Something like this should work.
filename = 'test2.txt';
fid = fopen(filename,'w');
fprintf(fid, 'HEADER \n');
fclose(fid);
for k = 1:1:5
UFF = X_filter(1:ni*nk,k);
VFF = X_filter(1+ni*nk:2*ni*nk,k);
UFF1 =reshape (UFF,ni,nk)';
VFF1 =reshape (VFF,ni,nk)';
UUFFF1 = reshape (UFF1, 4650,1);
VVFFF1 = reshape (VFF1,4650,1);
xxx = reshape (X,4650,1);
yyy = reshape (Y,4650,1);
fileName = sprintf('test%d.txt',k);
dlmwrite(fileName,[xxx yyy UUFFF1 VVFFF1],'delimiter','\t','-append');
end
dlmwrite is obselete.....read about writematrix.

  4 Comments

Show 1 older comment
KSSV
KSSV on 20 Aug 2020
What happened to the code which I gave? You have to append the data to the existitng file..or use fprintf for wrtitng header file as well as the matrix.
KSSV
KSSV on 20 Aug 2020
OP commented:
Hi,
It's working now.. Thanks for the hint..
for k = 1:1:100
filename = sprintf('test%d.txt',k);
fid = fopen(filename,'w');
fprintf(fid, '#DaVis 8.4.0 2D-vector 8 92 112 "position" "mm" "position" "mm" "velocity" "m/s" \n');
fclose(fid);
end
for k = 1:1:100
UFF = X_filter(1:ni*nk,k);
VFF = X_filter(1+ni*nk:2*ni*nk,k);
UFF1 =reshape (UFF,ni,nk)';
VFF1 =reshape (VFF,ni,nk)';
UUFFF1 = reshape (UFF1, 10304,1);
VVFFF1 = reshape (VFF1,10304,1);
xxx = reshape (X,10304,1);
yyy = reshape (Y,10304,1);
fileName = sprintf('test%d.txt',k);
dlmwrite(fileName,[xxx yyy UUFFF1 VVFFF1],'delimiter','\t','-append');
end

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!