在MATLAB中找到每一行的最大值,然后将该行中的每个数字除以数字



我有一个133120x4矩阵。

我想找到每一行中最大的值,并将该行中的每个元素除以该特定值。

我需要使用某种循环吗?例如:我找到该矩阵(133120)中的行量,然后迭代循环的次数,然后我逐行行驶,然后使用最大函数返回该行中的最大值,然后将每个元素分开从最大值

返回的值通过返回的值

还是有更快的方法?

谢谢

编辑(澄清):

让我们致电我的133120x4矩阵A。我想将连续的每个元素除以该行中最大的值。由于最大和元素 - 分割是对矢量化的,因此解决方案将简单地为:

A_normal = A / max(A)

产生了133120x4矩阵,但在每一行中,最大值为1。

这是正确的吗?编辑:这是不正确的,并且仍在尝试找出解决方案。非常感谢社区的帮助

max计算最大值,重复结果n(= 4)次,因此每个元素有一个,然后是元素明智的除法!

newMat=mat./repmat(max(mat,[],2),[1 size(mat,2)]);]

或R2016B或更新的Just

newMat=mat./max(mat,[],2);

最新更新