repeat rows and export to txt file
2 views (last 30 days)
Show older comments
I read in a txt file containing n colums and n rows. I need to repeat each row x number of times and then export the new file to a txt document. I.E
A=importdata('file.txt')
A = [1;2;3;4]
x= 3
A = [1;1;1;2;2;2;3;3;3;4;4;4]
exportdata('NewFile.txt')
4 Comments
Mohsin Zubair
on 8 Jul 2021
@Jacob Weiss I told you that how can you create your desired output but to export it, there are many ways to do so, it depends how or in whih format you want to export your data, also can you share your orignal text file with data?
Mohsin Zubair
on 8 Jul 2021
well what I told is just using loops which isn't good for long file, what scott told you is much better for file of your size
Answers (1)
Scott MacKenzie
on 8 Jul 2021
Edited: Scott MacKenzie
on 8 Jul 2021
I think this is more or less what you're after:
% test data (read from file)
A = [1 8;2 7;3 6;4 5]
x = 3; % number of times to repeat each row (change as desired)
A1 = repmat(A', x, 1);
A2 = reshape(A1, size(A,2), [])'
% write to file
9 Comments
Scott MacKenzie
on 9 Jul 2021
@Rik. Thanks. Yes indeed, much simpler. @Jacob Weiss with Rik's simplification, something like this will also work...
f = 'https://www.mathworks.com/matlabcentral/answers/uploaded_files/678488/Raj_AZ31_16120.txt';
A = readmatrix(f);
x = 3; % number of times to repeat each row (change as desired)
B = repelem(A, x, 1);
writematrix(B,'newfile.txt');
See Also
Categories
Find more on Whos in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!