我有一个叫做宇宙的矩阵,它有n行2列。这个矩阵是书的宇宙。然后,我有另一个矩阵,这一次有m行(其中m小于或等于n)和2列。这个矩阵可以看作是一家书店。
两个矩阵都包含一个列图书ISIN --所有的条目都是唯一的。
编辑
请注意,这本书包含字母和数字。
编辑的端
我想做的是调整我的图书存储矩阵的大小,使图书ISIN与我的宇宙矩阵中的Book列完全相同。
最后,我希望书店中没有的任何图书ISIN在Total列中的值为零。下面右边的最后一个矩阵是我正在寻找的结果。
n >= m
Matrix Universe (n x 2) Book Store (m x 2) Result I would like
Book ISIN Book Name Book ISIN Total Sold Book ISIN Total Sold
12DE3 ABC 45ES6 3 12DE3 0
45ES6 DEF 10SX1 9 45ES6 3
78AQ9 FGH 78AQ9 0
10SX1 LMN 10SX1 9发布于 2014-04-16 10:11:10
码
%%// Given data
universe = {
'12DE3' 'ABC';
'45ES6' 'DEF';
'78AQ9' 'FGH';
'10SX1' 'LMN'}
store = {
'10SX1' '9';
'45ES6' '3'}
%%// Detect the row numbers of `universe` where data from first column
%%// of `store` is present in first column of `universe`
[true_pos,pos1] = ismember(universe(:,1),store(:,1));
%%// Final output which is same as universe array
%%// but second is modified based on store
store_mod = universe;
store_mod(:,2)={'0'};
store_mod(true_pos,2) = store(pos1(pos1~=0),2)输出
store_mod =
'12DE3' '0'
'45ES6' '3'
'78AQ9' '0'
'10SX1' '9'https://stackoverflow.com/questions/23105869
复制相似问题