看板 NCTU-STAT100 關於我們 聯絡資訊
Step 1: for k= 0 : n-1 do Step 2 ~ Step 6 Step 2: (is, js[k]) = arg max{ |a(i,j)| | i = k:n-1, j = k:n-1 } (i,j) Step 3: if( |a(is,js[k])| < eps ) then stop else do Step 4 ~ Step 6 Step 4: if( is != k or js[k] != k ) then a(k,:) <=> a(is,:) a(:,k) <=> a(:,js[k]) b(k) <=> b(is) Step 5: a(k,k) = 1.0 / a(k,k) for( j= k+1 : n-1) do a(k,j) = a(k,j) * a(k,k) b(k) = b(k) * a(k,k) Step 6: for i = k+1 : n-1 for j = k+1 : n-1 a(i,j) = a(i,j) - a(i,k) * a(k,j) for i = k+1 : n-1 b(i) = b(i) - a(i,k) * b(k) Step 7: x(n-1) = b(n-1) for i= n-2 : 0 x(i) = b(i) - sum_{j=i+1}^{n-1} a(i,j) * x(j) Step 8: for( k = n-1 : 0 ) x(k) <=> x(js[k]) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.7.248 ※ 編輯: PanJC 來自: 140.113.7.248 (07/28 15:34) ※ 編輯: PanJC 來自: 118.233.7.208 (07/28 20:23) ※ 編輯: PanJC 來自: 118.233.7.208 (07/28 20:24)
c76068:有點不懂...step4 為什麼會有is[k]? 07/29 01:37
打錯, 已改過 ※ 編輯: PanJC 來自: 118.233.7.208 (07/29 06:14)
c76068:最後只要印出解就好了嗎? 07/30 00:18
PanJC:yes. 07/30 10:32
gentlecat:step1 是不是應該改成做 step2~5阿?? 07/30 17:40
gentlecat:喔喔沒事我蠢了= = " 07/30 17:47
gentlecat:請問一下有正確答案嗎@@? 07/31 20:21
WhywhyTseng:我直接手動帶回去算耶XDDD 07/31 20:39
PanJC:手算啊?! 寫個程式代回去驗算可能比較快.... 07/31 20:49
c76068:為什麼不直接用matlab算? 或者跑一個沒有截距項的迴歸..也 07/31 21:05
c76068:可以得到答案....你有統計套裝軟體吧.... 07/31 21:05
PanJC:當然可以, 但前提假設是同學們已經至少會一樣統計軟體. 07/31 21:12
PanJC:如果都不會, 至少目前還有 C 可以寫個程式驗算. 07/31 21:12
smallstrong2:推薦那個用手動的XDD 08/01 10:59
gentlecat:手動+1XDD 08/01 11:17