thD*_*vrs 2 sorting matlab matrix octave multidimensional-array
我有一个3D矩阵A(i,j,k).问题如下:
我有很多房间.我使用第一个维度(i)来表示房间ID.每间客房均配有多把椅子.我使用第二维(j)来表示椅子的ID.每把椅子都有坐标x,y,z.我用第三维(k's)来表示坐标.
例如,A(4,3,1)表示第4个房间,第3个椅子,x坐标; A(4,3,2)表示相同的房间和椅子,但y坐标; 和A(4,3,3)的z坐标.
根据其中一个尺寸,我需要独立于其他房间对每个房间的椅子进行分类.
假设我只想对第一个房间的椅子进行排序,即A(1,:,:),根据它们的x坐标,即A(1,:,1).
有人可以帮我解决如何在Matlab 2016b中做到这一点吗?
非常感谢!
我认为这样做你想要的:
A = randi(99,3,3,3); % example data
room = 1; % desired room
coord = 1; % desired coordinate
[~, ind] = sort(A(room,:,coord)); % get indices of the sorting
B = A; % result. Initiallize
B(room,:,:) = B(room,ind,:); % apply sorting to chairs in that room
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |