I have an array of 19361 samples. i want to divide it such that each array has 365 samples. 19361 is not perfactly divisible by 365. How can I do that?

2 件のコメント

James Tursa
James Tursa 2019 年 11 月 21 日
Depends. What do you want to do for the leftovers? How will this be used downstream in your code?
Jaydeep Kansara
Jaydeep Kansara 2019 年 11 月 21 日
Thanks for the reply. I want to keep the leftovers and store them. there are 53 full array and leftocvers should be stored in 54th array.

サインインしてコメントする。

 採用された回答

Adam Danz
Adam Danz 2019 年 11 月 21 日
編集済み: Adam Danz 2019 年 11 月 21 日

0 投票

Here's how to partition your row or column vector of data into a matrix with 365 rows and m columns. The last column may contain trailing NaN values as fillers.
% Create data
data = rand(1,19361);
n = 365; %number of elements per group
% add NaNs to the end of your data to
% create enough samples to split evenly
% into n-sample groups.
extraNeeded = n - mod(numel(data),n);
% Concatenate vertically
% if data is a row vector it will be changed to a column vector
data = [data(:); nan(extraNeeded,1)];
% partition your data
dataSections = reshape(data,n,[]);
Result
size(dataSections)
ans =
365 54
Group j can be accessed by
dataSections(:,j)

2 件のコメント

Jaydeep Kansara
Jaydeep Kansara 2019 年 11 月 21 日
Thanks Adam.
Adam Danz
Adam Danz 2019 年 11 月 21 日
Glad I could help!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeOperators and Elementary Operations についてさらに検索

質問済み:

2019 年 11 月 21 日

コメント済み:

2019 年 11 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by