[討論] least square 最小平方法 A\B rank

作者: caron0225 (淯仔)   2024-10-26 16:17:18
大家好,小弟想來請教版上大神
在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訊息)
我不太確定是不是訊號的品質不好~即使是訊號品質的問題我也不知道怎麼確定~
來這求版上大神提供建議或方向~~~感謝~~
作者: sunev (Veritas)   2024-10-26 21:58:00
你第一個做法叫mldivide,也就是矩陣左除第二個做法叫pinv,也就是pseudo inverse兩者的差別 https://reurl.cc/YqA7xx
作者: VIATOR (阿布拉卡達不拉)   2024-10-31 22:09:00
推樓上
作者: caron0225 (淯仔)   2024-11-08 10:03:00
我才發現原來有直接pinv 的指令lol我想我處理的case應該屬於方程式數大於變量數,應該比較適合用反除

Links booklink

Contact Us: admin [ a t ] ucptt.com