2011-11-22 16 views
7

मैं निम्न कार्य के मैटलैब तरह से देख रहा हूँ:Matlab/Octave समकक्ष या आर 'विलय' (या 'expand.grid') क्या है?

> merge(2:4,3:7) 
    x y 
1 2 3 
2 3 3 
3 4 3 
4 2 4 
5 3 4 
6 4 4 
7 2 5 
8 3 5 
9 4 5 
10 2 6 
11 3 6 
12 4 6 
13 2 7 
14 3 7 
15 4 7 
> expand.grid(2:4,3:7) 
    Var1 Var2 
1  2 3 
2  3 3 
3  4 3 
4  2 4 
5  3 4 
6  4 4 
7  2 5 
8  3 5 
9  4 5 
10 2 6 
11 3 6 
12 4 6 
13 2 7 
14 3 7 
15 4 7 
+1

मुझे न्यूरल नेटवर्क के टूलबॉक्स "कंघेक" का उपयोग करके एक रास्ता मिला। लेकिन यह Octave –

+0

में मौजूद नहीं है मुझे http://www.math.umaine.edu/~hiebeler/comp/matlabR.html में कुछ भी उपयोगी नहीं मिला ... आप ' मेशग्रीड http://www.mathworks.com/help/techdoc/ref/meshgrid.html? –

+0

ऐसा लगता है कि 'मर्ज' के बराबर 'जॉइन' है (वास्तव में बहुत आश्चर्यजनक नहीं है): http://www.mathworks.com/help/toolbox/stats/dataset.join.html - लेकिन यह वास्तव में आप नहीं है ऊपर के लिए 'मर्ज' का उपयोग कर रहे हैं ... –

उत्तर

11

मैं आमतौर पर meshgrid के साथ कार्य करें:

>> [x y] = meshgrid(2:4, 3:7); 
>> [x(:) y(:)] 

ans = 

    2  3 
    2  4 
    2  5 
    2  6 
    2  7 
    3  3 
    3  4 
    3  5 
    3  6 
    3  7 
    4  3 
    4  4 
    4  5 
    4  6 
    4  7 
+0

यह 2 वैक्टरों के लिए बहुत अच्छा काम करता है लेकिन मेष्रिड 2 से अधिक स्वीकार नहीं करता है। – lionel

1

उपयोग ndgrid n चर (2 और अधिक) के लिए। उदाहरण के लिए (4-डी स्पेस)

[X,Y,Z,T] = ndgrid(2:4, 3:7, 1:2, 1:10); 
संबंधित मुद्दे