如何在矩阵中将行设置为0?

use*_*253 5 matlab row max matrix zero

我有一个matlab问题,我需要在矩阵中找到最大数,然后在矩阵中找到与前一个不在同一行或列中的下一个最大值.

我的思考过程是我会找到矩阵中的最大值,然后找出它所在的行和列,然后将行和列中的其余值设置为0.到目前为止,我有这个.

a=rand(5)

[row,column]=find(a==max(max(a)))
Run Code Online (Sandbox Code Playgroud)

我可以找到最大值的行和列,但这是关于它的.有人可以帮助我完成下一步或更好的方式来编写这个程序吗?谢谢!

Oli*_*Oli 17

你需要的是:

a(row,:)=0;
Run Code Online (Sandbox Code Playgroud)

所以,总的来说:

a=rand(5)
[row,column]=find(a==max(max(a)))
a(row,:)=0;
[row2,column2]=find(a==max(max(a)))
Run Code Online (Sandbox Code Playgroud)

如果你有负值a,你也可以这样做:

a(row,:)=-inf;
Run Code Online (Sandbox Code Playgroud)