私はベクトルを持っています
output = PV_out(:);
これをある種の形式に分解しようとしています - output(K) ここで、output(1) は最初の 8760 行、output (2) は次の 8760 行などです。
上記のベクトルは 236520x1 ベクトルなので、27 個の「セット」のマトリックスを取得しようとしていますが、これを行う方法を知っている人はいますか?
ありがとうございました
私はベクトルを持っています
output = PV_out(:);
これをある種の形式に分解しようとしています - output(K) ここで、output(1) は最初の 8760 行、output (2) は次の 8760 行などです。
上記のベクトルは 236520x1 ベクトルなので、27 個の「セット」のマトリックスを取得しようとしていますが、これを行う方法を知っている人はいますか?
ありがとうございました
これはreshapeのジョブです:
%# old_output is 236520x1
%# desired is 8760 x 1 x 27 matrix
new_output = reshape(old_output,8760,1,[]);
size(new_output) %# [8760 1 27]
ans = [8760 1 27]
これにより、8760x1x27 の行列が作成され、各行は、指定されたベクトルから順番に取得されます。最初の入力引数として ( vectorではなく)行列を指定する場合は注意が必要です。値が取得される順序を確認する必要があります。(空のままにしておくと、その次元に適したサイズが自動的に選択されます。入力の が指定した次元で割り切れない場合でも、エラーが発生します。)[]
numel
編集:以下のコメントに従って寸法を変更しました。
長さ = 8760;
アウト = ゼロ (len,27);
for i=1:27 out(:,i) = output((i-1)*len + 1 : i*len); 終わり