2012-05-11 120 views
1

我在MATLAB中有兩個表示365x24矩陣的表達式。第一表達有10個,365X24矩陣,因此是從兩個其他矩陣的組合中創建第三個矩陣

PV_power_output(:,:,K) 

因此第二表達這又是365X24但具有三個可能的基質是

WT_energy_supply(:,:,M);ode here 

現在,我期待創建第三矩陣它將元素添加到上面的相同位置,從而形成365x24矩陣。不過,我想上面顯示的兩個表達式的所有可能組合一組矩陣(因此該矩陣必須是365x24x30。

我怎麼去呢? 什麼MATLAB中的bsxfun功能?

回答

0

展開原來矩陣(爲了清楚我的名字ab)與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 

這對我來說很好。當然,您必須將變量ab替換爲您的變量PV_power_outputWT_energy_supply

+0

謝謝,但我只能以這種方式得到365x24矩陣。我如何訪問創建的30個矩陣中的任何一個? – user643469

+0

我把它們全都拿來,看更新^^ –