我有一个3x3x3矩阵,其中包含我想要提取的一组特定元素。但是,我希望在选择元素后,可以在矩阵中对元素进行排序。一个例子是:
a(1,:,:)=1*[1 2 3; 4 5 6; 7 8 9];
a(2,:,:)=2*[1 2 3; 4 5 6; 7 8 9];
a(3,:,:)=3*[1 2 3; 4 5 6; 7 8 9];
a(a>1.0)
条件a(a>1.0)
给了我一个元素向量,但有没有办法按照原始顺序在矩阵中对它们进行排序?
答案 0 :(得分:0)
您希望对不符合条件的元素做些什么?
您可以执行a(a<=1) = nan;
答案 1 :(得分:0)
为简单起见,假设二维矩阵:
a = [1 2 3; ...
4 5 6];
我们只选择偶数值并将其保留为原始形状:
a(mod(a, 2) == 0)
你可能想要:
2
4 6
然而,在矩阵世界中,是否存在空空间的矩阵?是的,稀疏矩阵。但是,你必须注意,稀疏矩阵用 0 填充,而不仅仅是缺失。
所以,我的建议是用NaN
b = a; % just make a duplicate
b(mod(b, 2) == 1) = nan
b =
nan 2 nan
4 nan 6