作者caron0225 (淯仔)
看板MATLAB
标题[讨论] least square 最小平方法 A\B rank
时间Sat Oct 26 16:17:18 2024
大家好,小弟想来请教版上大神
在matlab 用A\B作最小平方法曲线拟合时遇到rank deficient 的警告讯息
即使常常出现这个警告讯息,但是当我把解带回去方程後,曲线拟合的误差几乎很小,
基本能够满足我的要求。
大家觉得我可以无视这个警告讯息吗? 或是有甚麽其他要注意的!?
另外,我曾经尝试将A矩阵作SVD分解A=U*S*V,然後设置容差,挑选S的主对角线数值
大於容差的主对角线数值取倒数,小於容差的主对角线数值我都直接设0,
构造矩阵NV (所以NV_ii = 1/S_ii如果S_ii>容差),然构造矩阵V*NV*U来代表A的伪逆
矩阵,这样在Ax=b的系统中,x的解近似为(V*NV*U)*b。
这个做法很多时候也能帮助我作最小平方法的拟合,而且不会出现rank deficient的问题
,最近蛮喜欢这样解最小平方法的问题,只是呢,依旧某些讯号数据就拟合的很差~
甚至不如我直接 A\B 来求解(即使出现rank deficient讯息)
我不太确定是不是讯号的品质不好~即使是讯号品质的问题我也不知道怎麽确定~
来这求版上大神提供建议或方向~~~感谢~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.3.40.96 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1729930640.A.608.html
1F:推 sunev: 你第一个做法叫mldivide,也就是矩阵左除 10/26 21:58
2F:→ sunev: 第二个做法叫pinv,也就是pseudo inverse 10/26 21:59
4F:推 VIATOR: 推楼上 10/31 22:09
5F:→ caron0225: 我才发现原来有直接pinv 的指令lol 11/08 10:03
6F:→ caron0225: 我想我处理的case应该属於方程式数大於变量数,应该比 11/08 10:06
7F:→ caron0225: 较适合用反除 11/08 10:06