Java での行列乗算

WBOY
リリース: 2024-08-30 16:27:31
オリジナル
1092 人が閲覧しました

Java の行列は配列に格納されます。 1 次元配列と 2 次元配列が存在し、配列として知られる次元の行列の形式で値を格納します。 1 次元配列では 1 次元に数値のみが格納されますが、2 次元配列では数値は行と列の形式で格納されます。行列は、Java プログラミング言語で数値の加算、減算、乗算に使用できます。行列の乗算は、Java プログラミング方法論の中で最も複雑なタスクの 1 つです。この記事では Java で行列の乗算を実行し、2 つの行列を乗算して適切な出力を提供する方法を示します。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

一般的な方法論

Java プログラミング言語における行列の乗算は、非常に簡単な方法で実行されます。まず、最初の 2 次元配列に数値を入力し、次に 2 番目の 2 次元配列に要素の数値を入力します。数値は行ごとに追加されます。つまり、最初の行が作成され、次に 2 行目の数値が作成されます。次に、2 番目の行列が同様の方法で作成され、行列内の数値の乗算を開始します。

Java での行列乗算の例

以下は行列乗算の例です

例 #1

コーディング例では、2 つの行列が行ごとに入力され、行列の乗算が実行される様子が示されています。 2 つの行列の乗算のコードを以下に示します。宣言されている配列は 3 つあります。 1 番目と 2 番目の行列の積が 3 番目の行列の内側に表示されます。次に、行列は、配列内の 2 つの行列の積である出力として表示されます。

コード:

import java.util.Scanner;
public class MatixMultiplication
{
public static void main(String args[])
{
int n;
Scanner input = new Scanner(System.in);
System.out.println("Enter the number of rows and columns of the matrices. They must be equal.");
n = input.nextInt();
int[][] a = new int[n][n];
int[][] b = new int[n][n];
int[][] c = new int[n][n];
System.out.println("Enter the numbers of the first matrix. Numbers will be added row wise \n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i][j] = input.nextInt();
}
}
System.out.println("Enter the numbers of the 2nd matrix. Numbers will be added row wise.  \n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
b[i][j] = input.nextInt();
}
}
System.out.println("Generating the multiplication of matrices.....");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
{
c[i][j] = c[i][j] + a[i][k] * b[k][j];
}
}
}
System.out.println("The product of the matrices is shown as below");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
System.out.print(c[i][j] + " ");
}
System.out.println();
}
input.close();
}
}
ログイン後にコピー

2*2 行列の出力が表示されます。最初の行列は、{ 1,2

の要素で構成されます。

3,4}

2 番目の行列にも同じ要素が含まれています。サンプル出力では、行列とサンプル出力の乗算に注目してください。マトリックスの要素は非常に優れた方法で生成されます。生成された出力

{1,2 { 1,2 { 7, 10

3,4} * 3,4} = 15, 22}

出力:

Java での行列乗算

例 #2

コーディング例 2 では、同じプログラムを使用していますが、乗算に 3 次元配列を使用しています。ここで 3 * 3 行列の乗算を使用し、出力を別の 3 次元配列で表示します。

コード:

import java.util.Scanner;
public class Matix
{
public static void main(String args[])
{
int n;
Scanner input = new Scanner(System.in);
System.out.println("Enter the number of rows and columns of the matrices. They must be equal.");
n = input.nextInt();
int[][] a = new int[n][n];
int[][] b = new int[n][n];
int[][] c = new int[n][n];
System.out.println("Enter the numbers of the first matrix. Numbers will be added row wise \n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i][j] = input.nextInt();
}
}
System.out.println("Enter the numbers of the 2nd matrix. Numbers will be added row wise.  \n");
for (int z = 0; z < n; z++)
{
for (int k = 0; k < n; k++)
{
b[z][k] = input.nextInt();
}
}
System.out.println("Generating the multiplication of matrices.....");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
{
c[i][j] = c[i][j] + a[i][k] * b[k][j];
}
}
}
System.out.println("The product of the matrices is shown as below");
for (int k = 0; k < n; k++)
{
for (int l = 0; l < n; l++)
{
System.out.print(c[k][l] + " ");
}
System.out.println();
}
input.close();
}
}
ログイン後にコピー

2 番目のサンプル コードから、2 つの 3 * 3 行列を出力します。最初の行列は {1,1,1

です

1,1,1

1,1,1}

2 番目の行列も同じです。行列の乗算は次の方法で生成されます

{1,1,1 {1,1,1 { 3,3,3

1,1,1 * 1,1,1 = 3,3,3

1,1,1} 1,1,1} 3,3,3}

出力:

Java での行列乗算

結論

この記事では、2 * 2 行列と 3 * 3 行列の乗算を見て、その出力が非常にうまく表示されています。出力は明確に与えられます。行列の乗算を使用すると、行列の 4*4 の乗算を作成することもできます。塩基はプログラムの最初のステップで尋ねられます。 5 * 5、6 * 6 の行列も作成できます。ベースが多ければ多いほど、プログラムは複雑になります。

ただし、行列の単純な乗算は、X 軸、Y 軸、または Z 軸を反射軸として点の反射を計算する場合に非常に役立ちます。これらの単純な概念は座標幾何学で使用され、幾何学アプリケーションの数学的モデリングでも使用されます。

以上がJava での行列乗算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!