How to put different size vectors to one matrix or mat file?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Djordje Damnjanovic
am 13 Mär. 2024
Beantwortet: Djordje Damnjanovic
am 14 Mär. 2024
Hello everybody, I need help.
After processing some signals I obtain different size vectors that I need to put in one place, and by that I mean one matrix or matfile etc. For example, results are:
d1=1 2 3 4 5 6 7 8
d2=1 2 3 4 5
d3=1 2 3
d4=1
So, I need to combine them into one matrix (or matfile) like this:
d5 =1 2 3 4 5 6 7 8
1 2 3 4 5
1 2 3
1
What I also need is to put ''d5'' to txt file with ";"' at the end of each row. like this:
1 2 3 4 5 6 7 8;
1 2 3 4 5;
1 2 3 ;
1;
Thanks a lot for all suggestions.
0 Kommentare
Akzeptierte Antwort
Matt J
am 14 Mär. 2024
Bearbeitet: Matt J
am 14 Mär. 2024
To save to a .mat file
save filename d1 d2 d3 d4
To retrieve them, packaged in a struct variable,
S=load('filename');
To write to a text file,
d={1:8;1:5;1:3;1}; d(:,end)={';'}
for i=1:height(d), writecell(d(i,:), 'outfile.txt', Delim=' ',WriteMode='append'); end
Weitere Antworten (2)
Chunru
am 14 Mär. 2024
d1=[1 2 3 4 5 6 7 8];
d2=[1 2 3 4 5];
d3=[1 2 3];
d4=1;
% Use cell array
d5 ={d1; d2; d3; d4}
% you can save d5 as a mat file
save d5.mat d5
dir
% write the data into a text file
fid = fopen("result.txt", "wt");
for i=1:length(d5)
fprintf(fid, " %d", d5{i});
fprintf(fid,";\n");
end
fclose(fid);
type result.txt
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!