1

MATLAB には、365x24 行列を表す 2 つの式があります。最初の式には 10 個の 365x24 行列があるため、

PV_power_output(:,:,K) 

2 番目の式も 365x24 ですが、可能な行列が 3 つあるため、次のようになります。

WT_energy_supply(:,:,M);ode here

ここで、上の同じ位置に要素を追加して 365x24 マトリックスを形成する 3 番目のマトリックスを作成しようとしています。ただし、上記の 2 つの式のすべての可能な組み合わせを含むマトリックスのセットが必要です (したがって、このマトリックスは 365x24x30.

どうすればいいですか?MATLABのbsxfun関数はどうですか?

4

1 に答える 1

0

元の行列 (わかりやすくするために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

私にはうまく見えます。もちろん、 my 変数abを自分の変数PV_power_outputとに置き換える必要がありますWT_energy_supply

于 2012-05-11T18:25:23.900 に答える