假设3x3
中有matlab
矩阵。如果我们输入x(:)
,这将选择所有矩阵中的元素,对吗?
我们如何选择除元素x(2,2)
以外的所有电子?在这种情况下我们应该输入什么?
感谢。
答案 0 :(得分:1)
我会这样做:首先,创建一个true
s的逻辑数组,如果用作索引掩码,它将选择所有元素:
mask = true(size(x) );
现在将元素2,2设置为false,因此取消选择它:
mask(2,2) = false;
现在使用此蒙版从x
中选择元素:
myValues = x(mask);
编辑:删除了第二个错误答案。
答案 1 :(得分:0)
您可以使用:
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