Merging Cell Array Elements with cellstr

조회 수: 2(최근 30일)
tinkyminky93
tinkyminky93 2022년 6월 9일
답변: Abhijit Nayak 2022년 6월 9일
Hello,
I want to merge the elements of the cell array of 100x4. After this merge, it will become 100x1. To do this process, I am using
temp = string(reshape(cell_temp, [], 4));
merged= cellstr(temp(:,1) + temp(:,2) + temp(:,3) + temp(:,4))
Are there any other methods to merge them in shorter way? Because sometimes I want to merge 15 elements but I don't want to write them explicitly. Thank you.
  댓글 수: 2
tinkyminky93
tinkyminky93 2022년 6월 9일
A1 A2 A3 A4 A1A2A3A4
B1 B2 B3 B4 B1B2B3B4
C1 C2 C3 C4 C1C2C3C4
...
.. -------->
.
.
F1 F2 F3 F4 F1F2F3F4

댓글을 달려면 로그인하십시오.

채택된 답변

Abhijit Nayak
Abhijit Nayak 2022년 6월 9일
I understand you want to automate merging of columns for a given matrix by using ‘cellstr’ function. The following code would work for any number of columns.
Create an array and assign it to ‘cell_temp’ variable in the code.
cell_temp = ones(100,5);
[row col]=size(cell_temp);
temp= string(reshape(cell_temp,[],col));
merged="";
for i=1:col
merged=merged + temp(:,i);
end
merged=cellstr(merged);
disp(merged)

추가 답변(1개)

Simon Chan
Simon Chan 2022년 6월 9일
Try this:
merged = cellfun(@(x) cat(2,x{:}),num2cell(cell_temp,2),'UniformOutput',false)

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by