2×2行列の行列式を計算する
当ページのリンクには広告が含まれています。
スポンサーリンク
2×2行列の行列式の計算するサンプルプログラムを紹介します。
行列式の計算
入力した2x2行列「A」
$$ A = \left( \begin{array}{cc} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array} \right) $$から行列式
\begin{aligned} det A &= \left| \begin{array}{cc} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array} \right| \\ &= a_{11} \cdot a_{22} - a_{12} \cdot a_{21} \end{aligned}を計算します。
例
例えば、次の行列の行列式は
\begin{aligned} det A &= \left| \begin{array}{cc} 1 & 2 \\ 3 & 4 \end{array} \right| \\ &= 1 \cdot 4 - 2 \cdot 3 \\ &= 4 - 6 \\ &= -2 \end{aligned}と計算できます。
サンプルプログラム
それではサンプルプログラムをみてみましょう。
/* * C言語のサンプルプログラム - Webkaru * - 2×2行列の行列式の計算 - */ #include <stdio.h> int main(void){ int i, j; /* 2x2 行列 */ int a[2][2]; /* 行列式 */ int det; printf("◆ 2x2の行列を入力\n"); for(i=0;i<2;++i){ for(j=0;j<2;++j){ printf("A[%d][%d] = ", i+1, j+1); scanf("%d", &a[i][j]); } } /* 行列式の計算 */ det = a[0][0] * a[1][1] - a[0][1] * a[1][0]; /* 計算結果の出力 */ printf("◆ 行列式の計算結果\n"); printf("det A = %d\n", det); return 0; }
サンプルプログラムで使っている構文
実行結果
実行結果です。
◆ 2x2の行列を入力 A[1][1] = 1 A[1][2] = 2 A[2][1] = 3 A[2][2] = 4 ◆ 行列式の計算結果 det A = -2
◆ 2x2の行列を入力 A[1][1] = 8 A[1][2] = 3 A[2][1] = 4 A[2][2] = 7 ◆ 行列式の計算結果 det A = 44
このように行列式を計算・出力します。