1

私はmatlabを使用しており、2つの2次元行列を結合する必要があるため、結果の行は入力行列の行を連結したものになります。

私はndgridを試しましたが、これは可能なすべての組み合わせを作成します。出力を作成するには、入力行をまとめておく必要があります。

次に例を示します。

私が得た:

  a= [1 2 3
      4 5 6];

  b= [7 8
      9 10];

私は欲しい:

needed = [1 2 3 7 8
          1 2 3 9 10
          4 5 6 7 8
          4 5 6 9 10];

可能であれば、ループなしでこれを行うことをお勧めします

4

3 に答える 3

-1

望ましい結果が得られますが、アイテムが重複している場合は、array_merge 以外の何かが必要になる場合があります。

$a = array(array(1, 2, 3), array(4, 5, 6));
$b = array(array(7, 8), array(9, 10));

$acc = array_reduce($a, function ($acc, $r) use ($b) {
  foreach ($b as $br) {
    $acc []= array_merge($r, $br);
  }

  return $acc;
}, array());

var_dump($acc);

編集:申し訳ありませんが、「ループなし」セクションに気づきました。foreach を array_reduce に変更できます。

于 2013-07-18T09:08:55.763 に答える