Divide array into 3 parts

I have a matrix of size (N,3), where I want to divide this matrix into 3 matrices where matrix 1 is 70% of N, matrix 2 is 15% of N and matrix 3 is 15% of N. is there an easy way to perform this division?

回答(1 个)

Maybe use this
% Create sample data.
N = 100
M = randi(9, N, 3)
% Split matrix up into parts.
[rows, columns] = size(M)
endingRows = round([0.7, 0.85] * rows)
m1 = M(1:endingRows(1), :);
m2 = M(endingRows(1)+1:endingRows(2), :);
m3 = M(endingRows(2) + 1 : end, :);
If you want, you could use randperm to randomize where the rows are taken from.

类别

在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息

产品

版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by