How do I set up a function to split up a randomly generated vector into an "if,else" statements to resize it in equal portions of 1, 2, or 3 rows

8 ビュー (過去 30 日間)
array/vector = [1 2 3 4 5 6 7 8 9 10 11 12];
% but assuming I dont know the inputs to break up manually
% and as different possible answers I want...
output1 = [1,2,3,4,5,6,7,8,9,10,11,12]
output2 = [1,2,3,4,5,6]
[7,8,9,10,11,12]
output3 = [1,2,3,4]
[5,6,7,8]
[9,10,11,12]

採用された回答

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH 2020 年 2 月 12 日
clc
array = [1 2 3 4 5 6 7 8 9 10 11 12];%1:12 do the same
s=1:numel(array);
fac = s(rem(numel(array),s)==0);
allpos=arrayfun(@(x) reshape(array,[],x)',fac,'UniformOutput',false);
allpos{:}

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by