Evaluating all possible combinations
    15 views (last 30 days)
  
       Show older comments
    
    Michael Jacobson
 on 6 Mar 2023
  
    
    
    
    
    Commented: Michael Jacobson
 on 19 Mar 2023
            I am working on designing a composite part. The two main variables are the number of layers i can stack and the orientation of each layer (0,45,90 deg.). In the below image, we can see different layers stacked with different orientations

I am trying to find all possible sequences that can be made, but im not sure how to go about that. For example, if i have 5 layers, how would i determine all the possible sequences?
I've tried perms and nchoosek - don't seem to work, but im not sure why.
Thanks
2 Comments
  Torsten
      
      
 on 6 Mar 2023
				So for each layer you have 4 possible orientations. Thus if you have N layers, the number of possible arrangements is 4^N. Is this a correct interpretation of what you try to achieve ?
Accepted Answer
  Karim
      
 on 6 Mar 2023
        
      Edited: Karim
      
 on 6 Mar 2023
  
      See below for one method to obtain all combinations.
In the resulting matrix, each row represents a combination, the first column holds the angle for the first layers, the second for the second etc.
Hope it helps ;)
% define the angle options for a layer
LayerOptions = [0 -45 45 90];
% define number of layers
NumLayer = 5;
% create place holder for the layers
CellCombo = cell(1,NumLayer);
% assign the options for each layer
CellCombo(:) = {LayerOptions};
% extend the data to obtain the combinations
Combinations = CellCombo;
[Combinations{:}] = ndgrid(CellCombo{:});
Combinations = cell2mat(cellfun(@(m)m(:),Combinations,'uni',0));
% print the result
Combinations
More Answers (0)
See Also
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!

