[代數] 4階反矩陣
※ [本文轉錄自 Math 看板]
作者: pizza0117 (阿水~*) 看板: Math
標題: [代數] 4階反矩陣
時間: Sun Sep 6 03:11:13 2009
4*4的矩陣
求反矩陣的時候
除了算16次3*3矩陣的det以外
請問~~還有沒有什麼方法~?
方法要有規則可循的 因為要寫成程式 不是手算
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.70.226.11
推
09/06 03:18,
09/06 03:18
→
09/06 03:27,
09/06 03:27
→
09/06 03:28,
09/06 03:28
您說的4次是算4*4的det,算adj的話要16次
→
09/06 03:28,
09/06 03:28
→
09/06 03:29,
09/06 03:29
寫程式先求eigenvalue 、eigenvector會不會更複雜? 我沒有寫過
推
09/06 04:13,
09/06 04:13
→
09/06 04:15,
09/06 04:15
→
09/06 04:16,
09/06 04:16
單純求反矩陣,求完可以寫成函式 方便我直接帶入
推
09/06 07:49,
09/06 07:49
推
09/06 09:36,
09/06 09:36
高斯還有LU都有看過例子
不過看不太懂過程的作法
感覺上實做起來不會比較方便
推
09/06 11:04,
09/06 11:04
請問關鍵字是"數值分析 反矩陣"嗎?
我好像打錯關鍵字了
速度不是我的首要考量
這個案子急著結案,我的需求是"實做"簡單
我3*3的矩陣的實作方法如下
我先推導出反矩陣,然後直接給定adj每個位置的值
但4*4是算16個點的3*3det,就沒辦法像2*2寫的那樣簡短了
所以想問問有沒有其他的方法可以得知一個矩陣的反矩陣
BOOL MatrixInverse( double **Matrix , double **Out)
{
int i , j;
double detMatrix = ( Matrix[0][0] * Matrix[1][1] * Matrix[2][2]
+ Matrix[0][1] * Matrix[1][2] * Matrix[2][0]
+ Matrix[1][0] * Matrix[2][1] * Matrix[0][2] )
- (Matrix[0][2] * Matrix[1][1] * Matrix[2][0]
+ Matrix[0][0] * Matrix[1][2] * Matrix[2][1]
+ Matrix[0][1] * Matrix[1][0] * Matrix[2][2] );
if( fabs(detMatrix) < 0.5 )
return FALSE;
double Maxtrix2[3][3] = {0};
Maxtrix2[0][0] = Matrix[1][1] * Matrix[2][2] - Matrix[1][2] * Matrix[2][1];
Maxtrix2[0][1] = Matrix[0][2] * Matrix[2][1] - Matrix[0][1] * Matrix[2][2];
Maxtrix2[0][2] = Matrix[0][1] * Matrix[1][2] - Matrix[1][1] * Matrix[0][2];
Maxtrix2[1][0] = Matrix[1][2] * Matrix[2][0] - Matrix[1][0] * Matrix[2][2];
Maxtrix2[1][1] = Matrix[0][0] * Matrix[2][2] - Matrix[0][2] * Matrix[2][0];
Maxtrix2[1][2] = Matrix[0][2] * Matrix[1][0] - Matrix[0][0] * Matrix[1][2];
Maxtrix2[2][0] = Matrix[1][0] * Matrix[2][1] - Matrix[1][1] * Matrix[2][0];
Maxtrix2[2][1] = Matrix[0][1] * Matrix[2][0] - Matrix[0][0] * Matrix[2][1];
Maxtrix2[2][2] = Matrix[0][0] * Matrix[1][1] - Matrix[0][1] * Matrix[1][0];
for( i = 0 ; i < 3 ; i++ )
for( j = 0 ; j < 3 ; j++ )
Out[i][j] = Maxtrix2[i][j] / detMatrix;
return TRUE;
}
※ 編輯: pizza0117 來自: 219.70.226.11 (09/06 11:19)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.70.226.11
→
09/06 11:50, , 1F
09/06 11:50, 1F
→
09/06 11:50, , 2F
09/06 11:50, 2F
→
09/06 13:45, , 3F
09/06 13:45, 3F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章