Info

This question is closed. Reopen it to edit or answer.

Please help me in generating multiple matrices and calculation

1 view (last 30 days)
this code is for one matrix X, but I want N = 5 such matrices
N = 5; % No. of matrices
P = 5; % The number of rows
T = 10; % The number of columns
% Duration of projects
D = [4; 5; 3; 2; 4];
excludedcount = D-1;
X = zeros(P,T);
for row = 1:P
rv = [1, zeros(1, T - excludedcount(row) - 1)];
X(row, 1 : (T - excludedcount(row))) = rv(randperm(numel(rv)));
end

Answers (1)

Jos (10584)
Jos (10584) on 21 Jun 2016
Add an extra loop to create a 3D matrix:
N = 5; % No. of matrices
P = 5; % The number of rows
T = 10; % The number of columns
% Duration of projects
D = [4; 5; 3; 2; 4];
excludedcount = D-1;
X = zeros(P,T);
FinalArray = nan(N,P,T) ; % pre-allocation
for MatrixCount = 1:5
for row = 1:P
rv = [1, zeros(1, T - excludedcount(row) - 1)];
X(row, 1 : (T - excludedcount(row))) = rv(randperm(numel(rv)));
end
FinalArray(MatrixCount,:,:) = X ; % store it
end

Community Treasure Hunt

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

Start Hunting!