1

我有矢量图

output = PV_out(:);

我试图将其分解为某种形式,例如 - output(K) 其中 output(1) 是前 8760 行,输出 (2) 是接下来的 8760 行等

上面的向量是一个 236520x1 向量,所以我试图获得 27 个“组”矩阵有谁知道该怎么做?

谢谢

4

2 回答 2

4

这是重塑的工作:

%# 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 矩阵,其中每一行都是从给定的向量中按顺序获取的。请注意,如果您给它一个矩阵作为第一个输入参数(而不是一个向量) ,您应该小心:您应该确保您知道取值的顺序。(留空[]意味着它将自动为该维度选择正确的大小。如果numel输入的 不能被您指定的维度整除,您仍然会遇到错误。)

编辑:根据下面的评论更改尺寸。

于 2012-06-21T00:26:35.677 回答
1

长度 = 8760;

out = zeros(len,27);

对于 i=1:27 out(:,i) = output((i-1)*len + 1 : i*len); 结尾

于 2012-06-21T00:12:36.960 回答