Создать третью матрицу в MATLAB из комбинации двух других матриц

У меня есть два выражения в MATLAB, которые представляют матрицу 365x24. Первое выражение имеет 10, 365x24 матриц и поэтому

PV_power_output(:,:,K) 

и второе выражение, которое снова 365x24, но с тремя возможными матрицами, поэтому

WT_energy_supply(:,:,M);ode here

Теперь я собираюсь создать третью матрицу, которая добавляет элементы в той же позиции выше и, таким образом, образует матрицу 365x24. Однако я хочу набор матрицы со всеми возможными комбинациями двух выражений, показанных выше (поэтому эта матрица должна быть 365x24x30.

Как мне это сделать? А как насчет функции bsxfun в MATLAB?

1 ответ

Решение

Разверните исходные матрицы (которые для наглядности я называю a а также b) с repmat, а затем просто добавить их, bsxfun не требуется.

repmat(a,[1 1 size(b,3)]) + repmat(b,[1 1 size(a,3)]))

Обновить

>> size(a)
ans = 
    364  24  10

>> size(b)
ans = 
    364  24  3

>> c=repmat(a,[1 1 size(b,3)])+repmat(b,[1 1 size(a,3)]);
>> size(c)
ans = 
    364  24  30

Это выглядит хорошо для меня. Конечно, вам придется заменить мои переменные a а также b с вашими переменными PV_power_output а также WT_energy_supply,

Другие вопросы по тегам