how to split a vector into small subvectors based on condition
Show older comments
how can i split a vector into smaller sub vectors, such that the sum of each vectors is less than N
N = 60
V = [30 35 24 15 14 48];
3 Comments
Walter Roberson
on 15 Mar 2020
Putting everything into the same vector satisfies the stated conditions.
Elysi Cochin
on 15 Mar 2020
Walter Roberson
on 15 Mar 2020
Breaking up into individual elements satisfies the stated conditions. There are other solutions too, but the question does not prevent the algorithm from being lazy and not even trying a different solution.
Accepted Answer
More Answers (1)
Ahmed Anas
on 15 Mar 2020
Edited: Ahmed Anas
on 15 Mar 2020
Dear, it will give you the desired results
clear all
clc
V = [30 35 24 15 14 48]
N=60
for i=1:size(V,2)
subsA = nchoosek(V,i);
for j=1:size(subsA)
Sum=sum(subsA(j,:));
if Sum<N
G=subsA(j,:)
end
end
end
3 Comments
Ahmed Anas
on 15 Mar 2020
If you could not understand this code then please tell..
Walter Roberson
on 15 Mar 2020
I suspect that the sub-vectors are intended to be consecutive elements.
Elysi Cochin
on 15 Mar 2020
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!