1

假设我们在 中有一个3x3矩阵matlab。如果我们输入x(:),这将选择矩阵中的所有元素,对吗?

我们如何选择除 element之外的所有元素x(2,2)?在这种情况下我们应该输入什么?

谢谢。

4

2 回答 2

1

我会这样做:首先,创建一个 s 的逻辑数组,如果用作索引掩码true,它将选择所有元素:

mask = true(size(x) );

现在将元素 2,2 设置为 false,因此取消选择它:

mask(2,2) = false;

现在使用此掩码从 中选择元素x

myValues = x(mask);

编辑:删除第二个不正确的答案。

于 2013-05-23T09:48:10.180 回答
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
于 2013-05-23T11:36:53.347 回答