How I can split a matrix in four matrixes
    11 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Maryam Hamrahi
 le 28 Juin 2016
  
    
    
    
    
    Réponse apportée : David Sanchez
      
 le 28 Juin 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 commentaires
  Stephen23
      
      
 le 28 Juin 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 ?
Réponse acceptée
  KSSV
      
      
 le 28 Juin 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 commentaires
Plus de réponses (1)
  David Sanchez
      
 le 28 Juin 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 commentaires
Voir également
Catégories
				En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



