Nested for loops to compile all possible combinations of two vectors
    8 views (last 30 days)
  
       Show older comments
    
I have two vectors and would like to acquire the result of an operation using each combination of the two arrays. The result should look something like this:
1    2    2
1    4    4
1    6    6
2    2    4
2    4    8
... etc. 
if vector1 = [1 2 3 ...] and vector2 = [2 4 6 .....].
Here is my attempt:
count = 0;
for i = 1:1:I
    for j = 1:1:J
        % 
        alpha = 0.038*i - 8;
        thresh = 0.00189*j + 0.01;
        % perform some operation to acquire chi
        chi = alpha  * thresh
        % save the chi into a matrix in the order of acquisition
        count=count+1;
        chi(:,count) = chi % this seems to give the correct 1x(I*J) array
        % save all 3 columns into array for the corresponding chi. this is not working. Nearly all entries are 0. 
        C=zeros(I*J,3);
        C(1,count) = alpha;
        C(2,count) = threshold;
        C(3,count) = chi;
    end
    count = count + J;
end
0 Comments
Accepted Answer
  Bruno Luong
      
      
 on 14 Aug 2023
        vector1 = [1 2 3 ];
vector2 = [2 4 6 ];
[V1, V2] = meshgrid(vector1, vector2);
A = [V1(:), V2(:), V1(:).*V2(:)]
More Answers (1)
  Steven Lord
    
      
 on 14 Aug 2023
        vector1 = [1 2 3 ];
vector2 = [2 4 6 ];
results = combinations(vector1, vector2)
See Also
Categories
				Find more on Startup and Shutdown 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!

