【发布时间】:2016-09-18 06:35:33
【问题描述】:
我正在尝试使用 Matlab 在矩阵的每一行中保留最高和最低值。例如,我有初始矩阵:
A=
[-6 1 3 9 2 -1;
3 -3 6 5 0 -8;
5 10 9 3 2 1;
20 2 -1 4 9 -4;
4 6 -2 2 7 9;
10 5 -3 3 1 4]
并且我需要在矩阵的每一行中保留最大和最小的元素(假设 2 个最大和 2 个最小),以便最终矩阵如下所示:
B=
[-6 0 3 9 0 -1;
0 -3 6 5 0 -8;
0 10 9 0 2 1;
20 0 -1 0 9 -4;
0 0 -2 2 7 9;
10 5 -3 0 1 0]
我尝试了sort 和ismember,但没有任何运气。
如何在输入矩阵的每一行中保留最大和最小元素,并删除每一行中的其余元素?
【问题讨论】:
-
我刚刚提交了对问题的编辑,因此希望能够通过并且问题的意图更加清晰。话虽这么说,@Sardar_Usama 我相信你是对的 - 他们希望在矩阵的每一行中保留最高和最低值,并删除每一行中的其余值。在 OP 提供的示例最终矩阵中,矩阵每行中的 2 个最大和 2 个最小值被保留,而每行中的其余值被替换为 0。