How to create a matrix with all possibles cambinations between nodes of 3 sets?

1 Ansicht (letzte 30 Tage)
Hello to all,
I am working in Matlab with data of Ampl, so i am using amplapi. I want to creat a matrix of all possibles combinations between the nodes in the sets O, C and P, but using the data of the parameter CT. For example i have this data:
O = {'O2','O3','O4','O5'}
C = {'C1','C2','C3','C4'}
P = {'P1','P2','P3','P4'}
CTocp = {[196]
[146],
[154],
[244],
[317],
[129],
[140],
[224],
[246],
[256],
[314],
[161],
[333],
[292],
[245],
[183],
[296],
[246],
[222],
[293],
[291],
[138],
[174],
[174],
[229],
[227],
[164],
[166],
[176],
[115],
[184],
[237],
[305],
[316],
[128],
[158],
[234],
[345],
[211],
[142],
[313],
[330],
[135],
[315],
[262],
[208],
[286],
[172],
[305],
[316],
[128],
[158],
[196],
[146],
[154],
[244],
[313],
[330],
[135],
[315],
[296],
[246],
[222],
[293]}
I notice that i have to convert the parameter CTocp in a matrix 3d for it run, so I did the next:
CTocp = reshape(CTocp,4,4,[])
Then, for create a matrix with all possible combination i use:
df_CTocp = DataFrame(3, 'O', 'C', 'P', 'CTocp');
df_CTocp.setMatrix(CTocp, O, C, P)
df_CTocp
The problem is the order that the matrix have, i want that the matrix df_CTocp in the column CTocp has the same order that has the matrix CTocp.
Please someone help me!

Antworten (1)

Aditya Patil
Aditya Patil am 8 Apr. 2021
You can use meshgrid function as below
[x,y,z] = meshgrid(C,O,P);
This gives you all combinations of C/O/P.

Kategorien

Mehr zu Resizing and Reshaping Matrices 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!

Translated by