Problems on doing the combination of two variables (columns) in a matrix.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have to obtain a test statistics from an equation (T), for a thermodynamic process. Fk matrix is made of variables (columns) and constraints (rows). In my code the only changing matrix would be Fk, so I have to obtain the test for all the possible combinations of 2 variables of Fk(15x2) without repeating any.
the combination of the variables should be like this (where this variables are the columns of Fk):
1,2
1,3
1,4
1,5
1,6
2,3
2,4
2,5
2,6
3,4
......
5,6
I attach here the Excel file of the measured values of the variables from 1 to 6 and the matlab code I have done for the combination of one variable.
Does anybody know how should be the code for all the combinations like this?
0 Kommentare
Akzeptierte Antwort
Guillaume
am 3 Sep. 2014
nchoosek is your friend:
combinations = nchoosek(1:size(Fk, 2), 2);
for combination = combinations'
var1 = Fk(:, combination(1));
var2 = Fk(:, combination(2));
%do something with var1 and var2
end
5 Kommentare
Guillaume
am 5 Sep. 2014
Bearbeitet: Guillaume
am 5 Sep. 2014
You don't really need to calculate TC or C, they're equal to size(combinations, 1) (and you could calculate them easier with nchoosek(Nby, 2) anyway), and you could simplify your final loop with:
combinations = nchoosek(1:size(Fk, 2), 2);
for combination = combinations' %transpose to iterate over combinations
Aex = Fk(:, combination);
T = inv(Aex'*inv(V)*Aex)*(Aex'*inv(V)*r).^2
end
Pretty much what I gave you in the first place.
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Descriptive Statistics and Visualization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!