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

1 view (last 30 days)
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

Accepted Answer

Matt Fig
Matt Fig on 13 Oct 2012
Edited: Matt Fig on 13 Oct 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

More Answers (1)

Matt J
Matt J on 13 Oct 2012
Edited: Matt J on 13 Oct 2012
result = bsxfun(d,x(:),y);
See also the NDGRID command.

Tags

Community Treasure Hunt

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

Start Hunting!