我與它具有以下形式的M×M個三角矩陣工作:獲得一個三角矩陣的行和列,考慮到指數
M = [m00 m10 m20 m30 m40]
[m11 m21 m31 m41 ]
[m22 m32 m42 ]
[m33 m43 ]
[m44 ]
如果它更容易在指標方面拍下這一刻,它會是這樣的:
M = [0 1 3 6 10]
[2 4 7 11 ]
[5 8 12 ]
[9 13 ]
[14 ]
我知道索引的這種方式可能看起來很奇怪,但它會容易得多,如果我能保持索引系統,因爲它是爲了讓這個模塊與他人一道很好地工作。
我正在努力尋找一種能夠返回給定索引所屬的行和列的矩陣的索引和大小的算法。理想我想有2種功能,如這些:
int getRow (int index, int size);
int getCol (int index, int size);
所以getRow (7, 5)
將返回3
而且getCol (7, 5)
將返回1
我也碰到過這個線程已經,但我似乎無法修改的解決方案在那裏爲我的索引方式工作。
algorithm for index numbers of triangular matrix coefficients
是的,你是對的,我會做一個編輯。儘管如此,我仍然無法修改其他主題中給出的算法,以適應我編制索引的方式。 – Redek 2012-03-12 20:41:11
爲什麼getRow(7,5)會返回3? – 2012-03-12 20:48:43
因爲我索引的方式,行是對角線(不是水平線),所以第3行是'm30,m31,m32,m33' – Redek 2012-03-12 20:57:15