假设我们在matlab
中有一个3x3
矩阵。如果我们输入x(:)
,这将选择所有矩阵中的元素,对吗?
如何选择除元素x(2,2)
以外的所有元素 ?在这种情况下我们应该输入什么?
谢谢。
我将这样做:首先,创建一个true
s的逻辑数组,如果用作索引掩码,它将选择所有元素:
mask = true(size(x) );
现在设置元素2,2为假,因此取消选择:
mask(2,2) = false;
现在使用这个蒙版从x
:
myValues = x(mask);
EDIT:删除第二个错误答案
您可以使用:
A(setdiff(1:numel(A),ceil(numel(A)/2)))
例如,对于输入:
>> A = randi(100,3)
A =
49 71 68
45 76 66
65 28 17
输出为:
>> A(setdiff(1:numel(A),ceil(numel(A)/2)))
ans =
49 45 65 71 28 68 66 17