The exact number of n is unknown.
How I can split a matrix in four matrixes
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Maryam Hamrahi
am 28 Jun. 2016
Beantwortet: David Sanchez
am 28 Jun. 2016
I have a nx3 matrix and I would like to split it in four matrices with different number of rows and three columns. any help is appreciated.
3 Kommentare
Stephen23
am 28 Jun. 2016
So if the number of rows n is unknown, how many rows are in each of the four matrices ?
Have you tried using indexing, or mat2cell ?
Akzeptierte Antwort
KSSV
am 28 Jun. 2016
clc; clear all ;
A = rand(100,3) ; % rows should be greater then 4
a = size(A,1); % rows in A
n = 4; % number of partitions
out = diff([0,sort(randperm(a-1,n-1)),a]); % split rows into four random parts
% else you enter your own four numbers such that sum is size(A,1)
% four matrices
A1 = A(1:out(1),:) ;
A2 = A(out(1)+1:out(1)+out(2),:) ;
A3 = A(out(2)+1:out(2)+out(3),:) ;
A4 = A(out(3)+1:out(3)+out(4),:) ;
0 Kommentare
Weitere Antworten (1)
David Sanchez
am 28 Jun. 2016
M = rand(1001,3); % your matrix
L = size(M,1); % L = number of rows
n = floor(L/4); % number of rows for your matrices
N = cell(4,1);
for k=1:3
N{k,1} = M( ((k-1)*n+1):n*k,: );
end
N{4,1} = M((3*n+1):L,:);
% to access your matrices...
N_1 = cell2mat(N(1,1));
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!