matlab中除一个像素外的所有像素



假设我们在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

相关内容

最新更新