How I can combine this cell values in a single matrix?
Mostra commenti meno recenti
%20matrix.jpeg)
How I can get in a single (12X28) matrix
2 Commenti
Simon Chan
il 16 Ago 2021
If the size of the first cell is [5x7 double], you may combine them to become a (12x7) matrix because all of them have 7 columns only.
Or you would like to repeat the cells until the final one has 28 columns?
Sourasis Chattopadhyay
il 17 Ago 2021
Risposte (2)
Wan Ji
il 16 Ago 2021
If X{1} is 1x7 array, the simplest way is
matrixOut = cell2mat(X')
6 Commenti
Sourasis Chattopadhyay
il 17 Ago 2021
Wan Ji
il 17 Ago 2021
RowNum = 12;
A = [];
for i = 1:numel(X)
Y = X{i};
A = [A, repmat(Y, RowNum/size(Y,1), 1)];
end
% A is what you want
Wan Ji
il 17 Ago 2021
Wan Ji
il 17 Ago 2021
Or you can do by following command:
RowNum = 12;
X = arrayfun(@(i)repmat(X{i},RowNum/size(X{i},1),1), 1:1:numel(X), 'uniform', 0);
A = cell2mat(X) % A is what you want
Wan Ji
il 17 Ago 2021
If your rowNum is a variable, is it calculated in this way?
RowNum = prod(arrayfun(@(i)size(X{i},1), 1:1:numel(X)))
Then
RowNum =
12
The whole code my be
RowNum = prod(arrayfun(@(i)size(X{i},1), 1:1:numel(X)));
X = arrayfun(@(i)repmat(X{i},RowNum/size(X{i},1),1), 1:1:numel(X), 'uniform', 0);
A = cell2mat(X) % A is what you want
Wan Ji
il 17 Ago 2021
Simon Chan
il 17 Ago 2021
Modificato: Simon Chan
il 17 Ago 2021
Something like this and final matrix is C
clear; clc;
X = cell(1,4);
X{1} = round(10*rand(1,7));
X{2} = round(10*rand(3,7));
X{3} = round(10*rand(2,7));
X{4} = round(10*rand(2,7));
B{1} = repmat(X{1},12,1);
B{2} = repmat(kron(X{2},ones(2,1)),2,1);
B{3} = repmat(X{3},6,1);
B{4} = kron(X{4},ones(6,1));
C = cell2mat(B);
2 Commenti
Sourasis Chattopadhyay
il 17 Ago 2021
Simon Chan
il 17 Ago 2021
Need to know the pattern how to repeat the matrix. If a pattern can be found, it is able to implement it in a loop.
However, I am also confused since the repeating method of a 2 rows matrix may be different (The left and right matrix in your elaboration).
Categorie
Scopri di più su Sparse Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
