我正在 psychtoolbox 中创建一个任务,我需要一个光栅。我制作了光栅,它运行良好,但现在我只想通过将这些矩阵元素设置为零来从其中切出一些片段(目前我正在使用掩码,但我想在源中切出片段,光栅本身)。
为了切出我想要的部分,我需要光栅矩阵的索引(称为 A),所以我想我使用 ind2sub。然而,这不起作用:
[I,J] = ind2sub(size(A),A);
'I' 给出与 'A' 相同的值,而 'J' 给出一个(大小(A))
例子
这是我想做的一个例子:
% A is a 3x3 matrix
% if I use "[I,J] = ind2sub(size(A),A);" I get the problem as described before:
% I = A and J = ones(3,3)
% When I use "[I,J] = ind2sub(size(A),[1:numel(A)]);" as suggested, I do get the
% following (which is a vector but can be reshaped into a 3x3 matrix):
I = [1 1 1 2 2 2 3 3 3]
J = [1 2 3 1 2 3 1 2 3]
I = reshape(I,[3,3]);
J = reshape(J,[3,3]);
K = I + J; % = [2 3 4; 3 4 5; 4 5 6]
for i=1:length(A)
for j=1:length(A)
if K(i,j)>*some threshold*
A(I(i),J(i))=0
end
end
end