矩阵A
如下所示:
1 1.1 0
2 1.2 0
3 1.3 0
4 1.1 0
5 1.5 0
1 1.0 0
2 0.9 0
3 0.3 0
4 0.1 0
5 0.4 0
第一列代表X
,而第二列代表Y
和第三Z
。如您所见,x
值每5个样本重复一次。
并且Z
列全部为零,我做了一些计算,我想在特定X
和Y
值处添加值。我该怎么办?
答案 0 :(得分:1)
例如,如果您要为z = 5
和x = 4
插入y = 0.1
值,
你可以做到
maskRow = A(:,1) == 4 & A(:,2) == 0.1;
A(maskRow,3) = 5
说明:
在代码的第一行,我们发现矩阵的哪些行满足条件。即将x
与第一列进行比较,将Y
与第二列矩阵A
进行比较。 maskRow
logicals
true
false
对应满足上述条件的行,z
对应其余行。
在代码的第二行,我们将rowMask
值分配给我们从'mimeTypes' => array('image/jpeg', 'image/png','image/jpg','application/vnd.ms-excel','application/vnd.openxmlformats-officedocument.wordprocessingml.document','application/docx','application/pdf','text/plain','application/msword','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'),
答案 1 :(得分:1)
手动检查每列的替代方法(如果您有很多列可能很有用)是使用ismember
maskRow = ismember(A(:,1:2), [4, 0.1], 'rows')
此方法的另一个优点是您可以在onces上搜索多个不同的匹配项:
maskRow = ismember(A(:,1:2), [4, 0.1; 2, 1.2], 'rows')