Sizing array to add to a 3D array
2 次查看(过去 30 天)
显示 更早的评论
Aloha!
I have a relatively big array (sorted_celldata) with all my data (12 columns, 248976 rows), its contains data from the follow up of 23819 cells through the time.
I would like to simplify the access to the data by generating an array for each single cell (the id of each cell in in column 12 of sorted_celldata), and then store them in a 3 dimension array.
Here my code:
for p=1:max(sorted_celldata(:,12))
cell_idxlist = find (sorted_celldata(:,12) == p); % to look in which line I have data from cell p
celldata = sorted_celldata (cell_idxlist,:); % to generate a array with all data from cell p
nb_of_rows = size (celldata,1); % I put this line because of the error message below, trying to adjust the since of the arrays
nb_of_columns = size (celldata,2); % I put this line because of the error message below, trying to adjust the since of the arrays
celldata_arrays (nb_of_rows,nb_of_columns,p) = [celldata]; % here I generate my 3 dimension arrays, where each 3rd dimension is an array containing the data of a specific cell
end
Unfortunately, here the error message that I get:
Unable to perform assignment because the indices on the left side are not
compatible with the size of the right side.
Error in untitled9 (line 6)
celldata_arrays (nb_of_rows,nb_of_columns,p) = [celldata]
0 个评论
采纳的回答
Sudheer Bhimireddy
2020-8-6
编辑:Sudheer Bhimireddy
2020-8-6
You are changing the array size which is not how you do to store something. You are trying to store multi-dimensional array in a single field, that's why you are getting that error.
Choice 1:
% Change this line
celldata_arrays (nb_of_rows,nb_of_columns,p) = [celldata];
% to
celldata_arrays (nb_of_rows,nb_of_columns,p) = 0;
celldata_arrays (:,:,p) = celldata;
This way you will have empty fields whenever nb_rows and nb_columns is greater than previous values.
Choice 2:
celldata_arrays {p,1} = celldata;
Hope this helps.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!