How to create a matrix to contain possible combinations of 2 sets of 1D parameters

1 visualizzazione (ultimi 30 giorni)
Hi,
I'd like to apply a function to all combinations of possible input parameters.
I just have 2 input parameters which are both vectors, so I'd like to create a matrix which effectively 'pairs' up my parameters.
Here's my code:
d=@(x,y) min(abs(x-y),1-abs(x-y));
x = 0:0.01:0.95;
y = 0:0.01:0.95;
Thank you!
N

Risposta accettata

Matt Fig
Matt Fig il 13 Ott 2012
Modificato: Matt Fig il 13 Ott 2012
If you mean all possible permutations, do this:
x = 0:.5:2;
I = npermutek(x,2)
I =
0 0
0 0.5000
0 1.0000
0 1.5000
0 2.0000
0.5000 0
0.5000 0.5000
0.5000 1.0000
0.5000 1.5000
0.5000 2.0000
1.0000 0
1.0000 0.5000
1.0000 1.0000
1.0000 1.5000
1.0000 2.0000
1.5000 0
1.5000 0.5000
1.5000 1.0000
1.5000 1.5000
1.5000 2.0000
2.0000 0
2.0000 0.5000
2.0000 1.0000
2.0000 1.5000
2.0000 2.0000

Più risposte (1)

Matt J
Matt J il 13 Ott 2012
Modificato: Matt J il 13 Ott 2012
result = bsxfun(d,x(:),y);
See also the NDGRID command.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by