我有一个特定的矩阵X
。其跟踪等于 n ,即trace(X) = n
。
可以使用函数X
在matlab中轻松完成normc
列到1的长度的简单规范化:
New_X = normc(X)
使用函数X
可以在matlab中轻松地将normr
行简单归一化为1的长度:
New_X = normr(X)
我感兴趣的是将矩阵X
标准化为具有等于 d 而不是 n 的迹线。我怎样才能做到这一点?任何帮助将非常感谢!!
答案 0 :(得分:3)
trace
和长度是不同的东西,trace是总和,而length是欧几里德长度,它被定义为平方和的平方根。如果您要转换矩阵以使跟踪为d
,您可以将矩阵缩放为:
Xtfm = d*X/trace(X)
如果您要对对角线的欧几里德长度进行归一化,则可以使用以下内容:
Xtfm = d*X/norm(diag(X))