How to create a double array from a cell array
이전 댓글 표시
I want to convert this data into the image shown after
paths = ["path1";"path2";"path3"];
cellData = {1,2,3,4;5,6,7,8;9,10,11,12};

How do I do this?
댓글 수: 4
Walter Roberson
2021년 2월 7일
Using randi() perhaps?
None of the values you list in the first row of that 8144x5 cell appear anywhere in the output of the table at the top, so we have no idea where you are getting the data from.
Asim Shahzad
2021년 2월 7일
Siddharth Bhutiya
2021년 2월 8일
Do all rows have the same number of columns in your cell array data ?
Asim Shahzad
2021년 2월 8일
채택된 답변
추가 답변 (1개)
David Hill
2021년 2월 8일
Why not just:
cell2mat(yourCellarray);
댓글 수: 8
Siddharth Bhutiya
2021년 2월 8일
As David mentioned you can use cell2mat to convert your cell array to a double matrix and then use that multi-column double matrix as your table variable, something like this
paths = ["path1";"path2";"path3"];
cellData = {1,2,3;4,5,6;7,8,9};
dblData = cell2mat(cellData);
t = table(paths,dblData)
t =
3×2 table
paths dblData
_______ ___________
"path1" 1 2 3
"path2" 4 5 6
"path3" 7 8 9
Asim Shahzad
2021년 2월 11일
Walter Roberson
2021년 2월 11일
편집: Walter Roberson
2021년 2월 13일
Your input is an 8144 x 5 cell, with 5th column not shown.
Your required output is a table with file names in the first column. The second column has a mix of 2 x 4 and 1 x 4 numeric arrays.
You have not given us any indication of where the file names are coming from for the first column, and there is nothing in the first four columns of the cells in your input that would give us any grouping information to put multiple entries together for the second column of the table.
Furthermore, not even one of the values in the 8144 x 5 cells that you show, appears in the second column of the table, so we are not able to deduce any pattern.
There is only one possible conclusion:
You. Should. Just. Create. Random. Output.
Asim Shahzad
2021년 2월 13일
paths = ["path1";"path2";"path3"];
cellData = {1,2,3,4;5,6,7,8;9,10,11,12};
imageFilename = paths;
vehicle = cell2mat(cellData);
table(paths, vehicle)
If you are going to put more than one group into the vehicle area, then instead
paths = ["path1";"path2";"path3"];
cellData = {1,2,3,4;5,6,7,8;9,10,11,12};
imageFilename = paths;
vehicle = num2cell(cell2mat(cellData),2);
table(paths, vehicle)
you will not be able to get the actual numbers to display in that situation
Asim Shahzad
2021년 2월 13일
Walter Roberson
2021년 2월 13일
Perhaps Variable Browser shows them. The command window will not.
Asim Shahzad
2021년 2월 13일
편집: Asim Shahzad
2021년 2월 13일
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


