Clear Filters
Clear Filters

How to create auto string array for group comparisons?

3 views (last 30 days)
Is there a simple method for automating the following process from a user input?
Currently creating a string for group data ccomparison based on how many data sets are present, currently manuallly writing out the following for example data set of 7 groups:
groups={[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],...
[2,3],[2,4],[2,5],[2,6],[2,7],...
[3,4],[3,5],[3,6],[3,7],...
[4,5],[4,6],[4,7],...
[5,6],[5,7],...
[6,7]};

Answers (1)

Gayatri Rathod
Gayatri Rathod on 24 May 2023
Hi Nicholas,
You can automate the process of creating the array for group data comparison based on the number of data sets provided by the user. Here's an example of how you can achieve that in MATLAB:
% Get the number of data sets from the user
numDataSets = input ('Enter the number of data sets: ');
% Create an empty cell array to store the groups
groups = {};
% Generate the groups
for i = 1: numDataSets-1
for j = i+1: numDataSets
groups{end+1} = [i, j];
end
end
% Display the groups
disp(groups);
In the code above, the user is prompted to enter the number of data sets. Based on the input, the script then generates the groups by using nested loops. The outer loop iterates from 1 to numDataSets"-1, and the inner loop iterates from i+1 to numDataSets". Within each iteration, a group "[i, j]" is created and added to the groups cell array.
You can read more about the input function from the following documentation: input function.
Hope it helps!

Community Treasure Hunt

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

Start Hunting!