MATLAB奇异值排序

MATLAB奇异值排序,matlab,svd,Matlab,Svd,声明返回的对角矩阵具有降序奇异值。有没有办法找出奇异值的自然顺序是什么? 我询问的原因是,奇异值对应于与输入矩阵行相关联的维度。我希望在回答之前了解一下这里询问的内容。例如,我在文件交换上发布的工具允许您对一系列特征值问题的特征值和特征向量进行重新排序,以便它们在顺序上彼此最大程度地一致。也许你们的问题是类似的,所以你们可能认为奇异值是随驱动系统的某个参数而变化的函数 但实际上,计算奇异值的方法并没有给出奇异值的自然顺序。事实上,唯一有意义的顺序就是结果——递减顺序。奇异值的顺序并不依赖于矩阵行

声明返回的对角矩阵具有降序奇异值。有没有办法找出奇异值的自然顺序是什么?
我询问的原因是,奇异值对应于与输入矩阵行相关联的维度。

我希望在回答之前了解一下这里询问的内容。例如,我在文件交换上发布的工具允许您对一系列特征值问题的特征值和特征向量进行重新排序,以便它们在顺序上彼此最大程度地一致。也许你们的问题是类似的,所以你们可能认为奇异值是随驱动系统的某个参数而变化的函数

但实际上,计算奇异值的方法并没有给出奇异值的自然顺序。事实上,唯一有意义的顺序就是结果——递减顺序。奇异值的顺序并不依赖于矩阵行的顺序,正如这个问题似乎模糊地暗示的那样,所以我不确定这里的意思是什么


请随意修改问题,以使您的需求更清楚。

不,SVD的定义本身并不引入订购。将讨论限制在平方X矩阵上,并采用相同的引用符号,如果X=U*S*V'是X的奇异值分解,那么对于每个P,我们可以形成有效的奇异值分解为X=U*P*P'*S*P*V*P'。用降序值表示矩阵S只是一个方便的问题:每个置换P'*S*P都会做同样的工作


作为旁注:p*X=p*U*S*V'表明矩阵X的行排列不会改变奇异值S,可以认为奇异值S独立于X的任何行或列排列。

奇异值没有自然顺序。至于和输入矩阵行相关联的奇异值,这在一般矩阵的数学上也并没有基础。如果你有一个特定的矩阵,也许是对角矩阵?这有特定的特点,那么你需要解释它们,否则你的问题就没有意义了。@woodchips:你应该把你的评论变成一个答案——在我的书中,这个问题没有答案是完全正确的答案。