[問題] 如何去用pivot去減低LU分解的效率?已回收

看板MATLAB作者 (迷霧森林)時間17年前 (2008/10/31 17:27), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
LU分解是把A分解成L跟U,那L跟U分別就是下三角與上三角矩陣! 今天要是A的第一列的值過大, 例如: | 100 300 100 | | 2 1 5 | = A | 4 4 -4 | 那要去找出pivot element的MAX絕對值, 也就是先找出每一列的MAX值去除以第一行,取MAX絕對值。 然後找出哪一列的MAX絕對值是最大的! 把那一列跟第一列互換,這樣的話就可以減低LU分解的效率了! 像上面的例子, 第一列的值是100/300, 第二列的值是2/5, 第三列的值是4/4, 那麼的話就把第三列換到第一列去做LU分解, 那這部份的程式要怎麼做呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.158.126

10/31 17:57, , 1F
你只是要問列互換嗎? A([1,3],:)=A([3,1],:);
10/31 17:57, 1F

11/01 18:01, , 2F
[L,U,P]=lu(A)
11/01 18:01, 2F
文章代碼(AID): #192i-AAF (MATLAB)
文章代碼(AID): #192i-AAF (MATLAB)