【C言語】2×3と3×2の行列の積を計算する方法

この記事では、初心者向けに2×3行列と3×2行列の積の計算方法をわかりやすく解説します。

具体的な手順を示しながら、行列の積の計算方法と結果の表示について理解することができます。

さらに、サンプルコードを通じて実際の計算結果も確認できます。

C言語の基礎を学びながら、行列の積の計算について理解を深めましょう。

目次から探す

行列の積の計算方法

行列の積を計算する方法について解説します。

行列の積は、2つの行列を掛け合わせて新しい行列を作る操作です。

ここでは、2×3行列と3×2行列の積の計算方法について説明します。

2×3行列と3×2行列の積の計算手順

2×3行列と3×2行列の積を計算する手順は以下の通りです。

  1. まず、新しい行列のサイズを決定します。

2×3行列と3×2行列の積の場合、新しい行列のサイズは2×2になります。

  1. 新しい行列の各要素を計算します。

新しい行列の(i, j)要素は、元の2×3行列のi行と3×2行列のj列の要素を掛け合わせて足し合わせた値になります。

具体的な計算手順は以下の通りです。

新しい行列の(i, j)要素 = 元の2×3行列のi行の要素1 × 3×2行列のj列の要素1 + 元の2×3行列のi行の要素2 × 3×2行列のj列の要素2 + 元の2×3行列のi行の要素3 × 3×2行列のj列の要素3
  1. 全ての要素を計算し終えたら、新しい行列の計算結果を表示します。

行列の積の計算と結果の表示

行列の積を計算し、結果を表示するサンプルコードを以下に示します。

#include <stdio.h>
int main() {
    int matrix1[2][3] = {{1, 2, 3}, {4, 5, 6}};
    int matrix2[3][2] = {{7, 8}, {9, 10}, {11, 12}};
    int result[2][2] = {0};
    // 行列の積を計算
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            for (int k = 0; k < 3; k++) {
                result[i][j] += matrix1[i][k] * matrix2[k][j];
            }
        }
    }
    // 結果の表示
    printf("行列の積の結果:\n");
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }
    return 0;
}

上記のコードでは、2×3行列と3×2行列の積を計算し、結果を2×2行列として表示しています。

行列の要素は整数型で表されており、matrix1matrix2が元の行列、resultが計算結果の行列です。

2重のforループを使用して、行列の積を計算しています。

最後に、計算結果を表示するために、さらに2重のforループを使用してresultの要素を表示しています。

※ C言語では、行列の要素を格納するために2次元配列を使用します。

また、行列の積を計算するために、ネストしたforループを使用します。

目次から探す