Как предварительно ожидать столбец к матрице?

  • у Вас не всегда есть опция повредить файлы независимо
    • Файлы конфигурации
    • XML-файлы
  • , Даже относительно маленькие файлы могут все еще содержать отличные части, что больше чем одному разработчику нужен доступ к [1 119]
  • Библиотеки
  • Утилиты
    • , Инструменты Слияния намного более умны, чем они когда-либо были
      • , Конфликты довольно редки
    • , Уменьшает задержки из-за разработчиков, имеющих файлы, "случайно" проверил
11
задан Alexey Popkov 29 September 2011 в 21:35
поделиться

3 ответа

Поскольку ArrayFlatten был введен в Mathematica 6, наименее запутываемое решение должно быть

matrix = {{1, 2}, {2, 3}}
vector = {{4}, {5}}

ArrayFlatten@{{vector, matrix}}

Хороший трюк заключается в том, что замена любого блока матрицы на 0 дает вам нулевой блок нужного размера.

11
ответ дан 3 December 2019 в 04:13
поделиться

Я думаю, что наименее непонятным является следующий способ сделать это:

PrependColumn[vector_List, matrix_List] := MapThread[Prepend, {matrix, vector}];

В общем, MapThread - это функция, которую вы будете использовать чаще всего для таких задач (я использую все время, когда добавляются метки к массивам перед их правильным форматированием с помощью Grid ), и это может сделать вещи намного более ясными и краткими, если использовать Prepend вместо эквивалентного Prepend [ №1, №2] и .

7
ответ дан 3 December 2019 в 04:13
поделиться

Я считаю, что наиболее распространенный способ - это транспонировать, добавлять и снова транспонировать:

PrependColumn[vector_List, matrix_List] := 
  Transpose[Prepend[Transpose[matrix], vector]]
7
ответ дан 3 December 2019 в 04:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: