看板 MATLAB 關於我們 聯絡資訊
大家好,小弟想來請教版上大神 在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://www.ptt.cc/bbs/MATLAB/M.1729930640.A.608.html
sunev: 你第一個做法叫mldivide,也就是矩陣左除 10/26 21:58
sunev: 第二個做法叫pinv,也就是pseudo inverse 10/26 21:59
sunev: 兩者的差別 https://reurl.cc/YqA7xx 10/26 22:00
VIATOR: 推樓上 10/31 22:09
caron0225: 我才發現原來有直接pinv 的指令lol 11/08 10:03
caron0225: 我想我處理的case應該屬於方程式數大於變量數,應該比 11/08 10:06
caron0225: 較適合用反除 11/08 10:06
jatj: ? 03/15 23:16
DIDIMIN: A 存在高度線性相依,要嘛用 PCA 要嘛踢掉共線性高的特徵 07/01 11:53