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

看板MATLAB作者 (淯仔)時間4周前 (2024/10/26 16:17), 編輯推噓2(205)
留言7則, 3人參與, 2周前最新討論串1/1
大家好,小弟想來請教版上大神 在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

10/26 21:58, 3周前 , 1F
你第一個做法叫mldivide,也就是矩陣左除
10/26 21:58, 1F

10/26 21:59, 3周前 , 2F
第二個做法叫pinv,也就是pseudo inverse
10/26 21:59, 2F

10/26 22:00, 3周前 , 3F
兩者的差別 https://reurl.cc/YqA7xx
10/26 22:00, 3F

10/31 22:09, 3周前 , 4F
推樓上
10/31 22:09, 4F

11/08 10:03, 2周前 , 5F
我才發現原來有直接pinv 的指令lol
11/08 10:03, 5F

11/08 10:06, 2周前 , 6F
我想我處理的case應該屬於方程式數大於變量數,應該比
11/08 10:06, 6F

11/08 10:06, 2周前 , 7F
較適合用反除
11/08 10:06, 7F
文章代碼(AID): #1d7AMGO8 (MATLAB)
文章代碼(AID): #1d7AMGO8 (MATLAB)