将矩阵归一化以具有特定的迹线值
Normalize a matrix to have a specific trace value
我有一个特定的矩阵X
。它的迹等于n,即trace(X) = n
。
在 matlab 中使用函数 normc
:
可以轻松地将 X
的列标准化为长度 1
New_X = normc(X)
在 matlab 中使用函数 normr
:
可以轻松地将 X
的行标准化为长度 1
New_X = normr(X)
我感兴趣的是对矩阵 X
进行归一化,使其轨迹等于 d 而不是 n .我怎样才能做到这一点?任何帮助将不胜感激!!
trace
和 length 是不同的东西,trace 是总和,而 length 是欧几里德长度,定义为平方和的平方根。如果您希望变换矩阵以使迹线为 d
,则可以将矩阵缩放为:
Xtfm = d*X/trace(X)
如果您希望进行归一化以使对角线的欧几里德长度为 1,则可以使用以下方法:
Xtfm = d*X/norm(diag(X))
我有一个特定的矩阵X
。它的迹等于n,即trace(X) = n
。
在 matlab 中使用函数 normc
:
X
的列标准化为长度 1
New_X = normc(X)
在 matlab 中使用函数 normr
:
X
的行标准化为长度 1
New_X = normr(X)
我感兴趣的是对矩阵 X
进行归一化,使其轨迹等于 d 而不是 n .我怎样才能做到这一点?任何帮助将不胜感激!!
trace
和 length 是不同的东西,trace 是总和,而 length 是欧几里德长度,定义为平方和的平方根。如果您希望变换矩阵以使迹线为 d
,则可以将矩阵缩放为:
Xtfm = d*X/trace(X)
如果您希望进行归一化以使对角线的欧几里德长度为 1,则可以使用以下方法:
Xtfm = d*X/norm(diag(X))