【发布时间】:2015-07-26 05:25:34
【问题描述】:
for i = 1 : numel(T);
j = 1 : numel(T(i).n);
P(i,j) = (T(i).n);
G(i) = (T(i).lastPulse)-1100;
Y = P(1,G(1):length(T(1).n));
S = P(2,G(2):length(T(2).n));
end
我有前面的代码。 P 是一个 (191x10000) 矩阵。我想取出每一行的特定部分,如我在 S 和 Y 中所示,然后连接 S 和 Y 以及与 P 的其他行相对应的其他行矩阵,以创建矩阵 A(191x[max length of (S,Y,. ..)])。但棘手的部分是我无法使 S 和 Y 对齐。
示例:
P = [1 2 1 3 1 1 1 0 3 1 0]
[3 0 2 0 1 1 4 1 1 2 0];
S = P(1,1:7) = [1 2 1 3 1 1 1];
Y = P(2,5:10) = [1 1 4 1 1 2];
% A = concatenated S and Y aligned to original P.
A = [ 1 2 1 3 1 1 1 nan nan nan nan]
[nan nan nan nan 1 1 4 1 1 2 nan];
由于我有很多行,所以最好使用循环而不是像 S 和 Y 这样的分隔矩阵。
建议答案:
我的想法是可能我必须使用对应于 P 的索引并使用它们来连接 Y 和 S,我只是不知道如何执行这个想法,尤其是在循环中。
【问题讨论】:
标签: matlab matrix concatenation