Re: [問題] 上三角矩陣循序儲存公式推導
看板Prob_Solve (計算數學 Problem Solving)作者etrexetrex (moonet)時間16年前 (2008/06/07 20:32)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/3 (看更多)
※ 引述《jones86723 (jones)》之銘言:
: 其實這問題不知道要Po哪,所以想請教大大這簡單的原理
: 假設有一個上三角矩陣式是
: 1 1 1 1
: 1 1 1 0
: 1 1 0 0
: 1 0 0 0
: 則A32是第9個
: 那麼這個9的公式是
: loc = n*(i-1) - i*(i-1)/2 + j
: loc=9;
: 我是想知道要如何反推這個公式
: 拜託~~~~
1 2 3 4
1 1 2 3 4
2 5 6 7
3 8 9
4 10
1 2 3 4
1 0+1 0+2 0+3 0+4
2 4+1 4+2 4+3
3 7+1 7+2
4 9+1
a1 a2 a3 a4 (j=0)
0 4 7 9
a1 = 1+2+3+4 - 1+2+3+4
a2 = 1+2+3+4 - 1+2+3
a3 = 1+2+3+4 - 1+2
a4 = 1+2+3+4 - 1
ai = (1+n)*n/2 - (1+n-i+1)*(n-i+1)/2
= (2in - i^2 - 2n + 3i - 2)/2
loc(i,0) = (2in - i^2 - 2n + 3i - 2)/2
求函數
loc = (2in - i^2 - 2n + 3i - 2)/2
f(i) = (2in - i^2 - 2n + 3i - 2)/2 = loc
求反函數
i = (n + 3/2) - sqrt(n^2 + n + 1/4 - 2loc)
f'(loc) = (n + 3/2) - sqrt(n^2 + n + 1/4 - 2loc) = i
驗證
1 = (4 + 3/2) - sqrt(4^2 + 4 + 1/4 - 2*0) = 5.5 - 4.5 = 1
2 = (4 + 3/2) - sqrt(4^2 + 4 + 1/4 - 2*4) = 5.5 - 3.5 = 2
3 = (4 + 3/2) - sqrt(4^2 + 4 + 1/4 - 2*7) = 5.5 - 2.5 = 3
4 = (4 + 3/2) - sqrt(4^2 + 4 + 1/4 - 2*9) = 5.5 - 1.5 = 4
建表
i j
loc f'(loc-1) [f'(loc-1)](取高斯) f(i) loc - f(i)
1 1 1 0 1
2 1點多 1 0 2
3 1點多 1 0 3
4 1點多 1 0 4
5 2 2 4 1
6 2點多 2 4 2
7 2點多 2 4 3
8 3 3 7 1
9 3點多 3 7 2
10 4 4 9 1
解
f(i) = (2in - i^2 - 2n + 3i - 2)/2
f'(loc) = (n + 3/2) - sqrt(n^2 + n + 1/4 - 2loc)
i = [f'(loc-1)]
j = loc - f(i)
= loc - f([f'(loc-1)])
弄了一個半小時反函數一直算錯 = =
--
blog:http://etrex.blogspot.com/
site:http://web.ntust.edu.tw/~B9409041/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.120.112.49
※ 編輯: etrexetrex 來自: 122.120.112.49 (06/07 20:43)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章