看板 NCTU-STAT98G 關於我們 聯絡資訊
同學, 昨天上課中有提到, 如果矩陣X的X[0][0]值為0,(或非常接近0) 則無法使用matrix.h中的matrix_inverse來求反矩陣, 因為高斯消去法,會使得分母為0,(或分母非常接近0造成誤差太大) 這種情況就建議使用matrix_inverse2來求反矩陣, 而同樣的再求行列式值時, 同樣會先經過高斯消去法, 但這時候如果只是單純求行列式值, 我們是可以經由判斷X[0][0]是否為0, 來進行換行的動作 矩陣一經換行 會影響最後的反矩陣值, 但並不會影響其行列式值 所以同學可以針對高斯消去法去改寫避免掉分母為0的問題 matrix_inverse 執行反矩陣速度較快 matrix_inverse2執行反矩陣速度較慢 所以同學也可以考慮折衷的辦法, 例如把matrix_inverse2寫在matrix_inverse內, 然後給個判斷句, Ex: if 矩陣執行高斯消去法的過程中, 沒有經過換行的動作, 則執行matrix_inverse即可 else 執行matrix_inverse2. 以上 同學盡量多想多寫吧:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.49.79