Sorting a matrix in percentiles

1 次查看(过去 30 天)
Good afternoon! I need your help as im new in matlab about solving my following issue:
I have a matrix ret [420x500]
I want to separate this matrix in 10 matrices of [420x50] each. Is there any code than can generate 10 different matrices of same size from the matrix ret[420x500]?
I need 10 equally sized matrices (the breakpoints should be the 10th, 20th, 30th,... , 90th percentiles). I.e., 10 matrices from a given matrix ret.
Thank you in advance!!!

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-13
Use mat2cell()
M; % 420x500 matrix
M_parts = mat2cell(M, 420, 50*ones(1,10));
M_parts is a cell array. You can access it like this
M_parts{1}; % 1st 420x50 matrix
M_parts{2}; % 2nd 420x50 matrix
..
..
M_parts{10}; % 10th 420x50 matrix
  7 个评论
Ameer Hamza
Ameer Hamza 2020-10-14
Following sort column of ret from smalles to largest
[~, idx] = sort(mean(ret));
ret_sorted = ret(:, idx);
Andreas S
Andreas S 2020-10-14
Thank you very much for all of your help. I appreciate it a lot!!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by