Save data to .txt file
2,177 次查看(过去 30 天)
显示 更早的评论
How do I save data to a txt file? I want to create a simple two column text file, where the first column is the data from an nx1 matrix and the second column is a different n x 1 matrix. I also want column headings in the first row of each column.
thanks
2 个评论
Raghunandan V
2018-10-4
编辑:per isakson
2019-1-20
the problem is you are trying to store them in an array whereas you have to store them in a cell array since each file is of different size Try this code
fileName={'new1.txt', 'new2.txt', 'new3.txt'};
%open file identifier
fid=fopen('MyFile.txt','w');
for k=1:length(fileName)
%read the file name as string including delimiters and next lines
List=textread(fileName{1,k},'%s','delimiter','\n');
%arrange them in order of k if you want in a cell array
FinalList{k,1}=List;
%or print them into a file.
fprintf(fid, [cell2mat(List) '\n']);
end
%close file indentifier
fclose(fid)
采纳的回答
José-Luis
2012-9-5
编辑:MathWorks Support Team
2020-11-4
To write a text file with columns of data that have variable names, use the “writetable” function. First, create the data to write, put it in a table with variable names, and then write the data to text file.
% Create two columns of data
A = rand(10,1);
B = rand(10,1);
% Create a table with the data and variable names
T = table(A, B, 'VariableNames', { 'A', 'B'} )
% Write data to text file
writetable(T, 'MyFile.txt')
For more information see:
Starting in R2019a, you can use "writematrix" to write a matrix to a file.
For example:
M=magic(5);
writematrix(M, "M.txt");
For more information on "writematrix", please refer to the following documentation:
13 个评论
celine azizieh
2017-8-14
Better to use: fid=fopen('MyFile.txt','wt');
instead of fid=fopen('MyFile.txt','w');
otherwise when opening the file with notepad, there is not return to the line... everything is written on one line.
更多回答(3 个)
WAEL Al-dulaimi
2017-12-8
In case I want to open a text file and I have a loop that each time give me different results {x1, x1...xn}. So how can I save all the data that I got from the loop in different names such as y1, y2 .... etc? And under each one of them, I can find the result that I got. I'll appreciate your help. thank you
1 个评论
Peter
2017-12-8
It is unclear form your question what you are trying to loop across. It sounds like your trying to read from a single text file; is this true? In any case you should be able to just assign the value that you read to a new variable. If you know how long each data set is you can preallocate matrices for those variables, but that's not necessarily necessary.
Ahmed Saeed Mansour
2019-1-20
How can we save transient CFD results in a file during running the code?
1 个评论
Venkatanarasimha Hegde
2023-3-17
Its better if you store the time data at different instants along another matrix dimension (possible in C not sure about matlab) or you can concatinate the new data to existing file, so while visualising you can access after the end index of each time instant.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Export 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!