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

2 visualizaciones (últimos 30 días)
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]

Respuesta aceptada

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH el 12 de Feb. de 2020
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{:}

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by