この記事では、C言語を使って単位行列を作成する方法について解説します。
配列を使った方法、ループを使った方法、さらにはライブラリを使った方法を紹介します。
初心者の方でもわかりやすく、サンプルコードも含めて解説していきます。
単位行列の作成方法
単位行列は、対角線上の要素が全て1で、それ以外の要素が全て0である正方行列です。
C言語を使って単位行列を作成する方法について解説します。
配列を使った方法
単位行列を作成するためには、2次元配列を使用します。
以下のようなコードを使って、単位行列を作成することができます。
#include <stdio.h>
void createIdentityMatrix(int n) {
int matrix[n][n];
// 単位行列の作成
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
matrix[i][j] = 1;
} else {
matrix[i][j] = 0;
}
}
}
// 単位行列の表示
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int size;
printf("行列のサイズを入力してください: ");
scanf("%d", &size);
createIdentityMatrix(size);
return 0;
}
上記のコードでは、createIdentityMatrix関数
を定義しています。
この関数は、引数として行列のサイズ n
を受け取り、単位行列を作成して表示します。
main関数
では、ユーザーに行列のサイズを入力させ、createIdentityMatrix関数
を呼び出しています。
ループを使った方法
配列を使わずに、ループを使って単位行列を作成する方法もあります。
以下のようなコードを使って、単位行列を作成することができます。
#include <stdio.h>
void createIdentityMatrix(int n) {
// 単位行列の作成と表示
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
printf("1 ");
} else {
printf("0 ");
}
}
printf("\n");
}
}
int main() {
int size;
printf("行列のサイズを入力してください: ");
scanf("%d", &size);
createIdentityMatrix(size);
return 0;
}
上記のコードでは、createIdentityMatrix関数
が単位行列を作成して表示する役割を担っています。
main関数
では、ユーザーに行列のサイズを入力させ、createIdentityMatrix関数
を呼び出しています。
ライブラリを使った方法
C言語には、行列演算を簡単に行うためのライブラリも存在します。
例えば、math.h
ライブラリのidentity関数
を使って単位行列を作成することができます。
#include <stdio.h>
#include <math.h>
void createIdentityMatrix(int n) {
double matrix[n][n];
// 単位行列の作成
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = (i == j) ? 1.0 : 0.0;
}
}
// 単位行列の表示
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%.1f ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int size;
printf("行列のサイズを入力してください: ");
scanf("%d", &size);
createIdentityMatrix(size);
return 0;
}
上記のコードでは、createIdentityMatrix関数
がmath.h
ライブラリのidentity関数
を使って単位行列を作成して表示しています。
main関数
では、ユーザーに行列のサイズを入力させ、createIdentityMatrix関数
を呼び出しています。
以上が、C言語で単位行列を作成する方法の解説です。
配列を使った方法、ループを使った方法、ライブラリを使った方法のいずれかを選んで実装してみてください。