【发布时间】:2013-04-25 14:12:13
【问题描述】:
我有两个矩阵,22007x3 和 352x2。每个中的第一列是一个索引,其中大部分(但不是全部)是共享的(即 x1 包含不在 x2 中的索引)。
我想将这两个矩阵组合成一个22007x4 矩阵,这样第 4 列就会填充对应于两个原始矩阵中特定索引的值。
例如:
x1 =
1 1 5
1 2 4
1 3 5
2 1 1
2 2 1
2 3 2
x2 =
1 15.5
2 -5.6
变成
x3 =
1 1 5 15.5
1 2 4 15.5
1 3 5 15.5
2 1 1 -5.6
2 2 1 -5.6
2 3 2 -5.6
我尝试了一些类似的东西
x3(1:numel(x1),1:3)=x1;
x3(1:numel(x2(:,2)),4)=x2(:,2);
但首先我得到了错误
??? Subscripted assignment dimension mismatch.
然后我想不出我会填满剩下的部分。
重要的一点是,我的数据中每个索引的行数不一定相等。
我怎样才能做到这一点?
【问题讨论】:
-
x2(:,1) 是否包含重复?
-
@Dan 不,它没有。
-
x1(:,1) 和 x2(:,1) 是否总是具有从 1 到各自最大值的所有数字?
-
@Dan 也没有。这就是为什么我的数据难以处理的原因之一。
-
@8eastFromThe3ast:忽略了怎么办?丢弃和消除忽略?填写默认值忽略?