How to put different size vectors to one matrix or mat file?
조회 수: 3 (최근 30일)
이전 댓글 표시
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
채택된 답변
Matt J
2024년 3월 14일
편집: Matt J
2024년 3월 14일
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
추가 답변 (2개)
Chunru
2024년 3월 14일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!