Selectinh elements from an array

Suppose that I have a 20*20 array by the name of "S", which is distances between 20 stores. I have another variable, P, which is the produce those stores would have. User can choose which produce he wants to distribute and bey selecting every produce the number of available stores would be different. For example if I choose the Dairy, the only stores which are available are S=[4, 6, 9, 13, 17] and the other stores would be for Meat. How can I devide my S array into two different 15*15 and 5*5 arrays?
Thanks.

Answers (1)

Check this code
S = rand(20);
selected_stores = [4, 6, 9, 13, 17];
idx1 = selected_stores;
idx2 = setdiff(1:size(S,1), selected_stores);
M1 = S(idx1, idx1); % 5x5
M2 = S(idx2, idx2); % 15x15

This question is closed.

Asked:

on 1 Nov 2020

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!