>  기사  >  Java  >  Java의 행렬 곱셈

Java의 행렬 곱셈

WBOY
WBOY원래의
2024-08-30 16:27:311055검색

Java의 행렬은 배열에 저장됩니다. 1차원 배열과 2차원 배열이 존재하며, 이는 배열이라고 알려진 차원의 행렬 형태로 값을 저장합니다. 1차원 배열은 1차원의 숫자만 저장되는 반면, 2차원 배열의 경우 행과 열의 형태로 숫자가 저장됩니다. 행렬은 Java 프로그래밍 언어에서 숫자를 더하고 빼고 곱하는 데 사용할 수 있습니다. 행렬 곱셈은 Java 프로그래밍 방법론에서 가장 복잡한 작업 중 하나입니다. 이 기사에서는 Java로 행렬 곱셈을 수행하고 두 행렬을 곱하여 합리적인 출력을 제공하는 방법을 보여줍니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

일반 방법론

Java 프로그래밍 언어의 행렬 곱셈은 매우 간단한 방식으로 수행됩니다. 먼저 첫 번째 2차원 배열에 숫자를 입력한 다음 두 번째 2차원 배열에 요소의 숫자를 입력합니다. 숫자는 행 방향으로 추가됩니다. 즉, 첫 번째 행이 생성된 다음 두 번째 행의 숫자가 생성됩니다. 그런 다음 비슷한 방식으로 두 번째 행렬이 생성되고 행렬의 숫자를 곱하기 시작합니다.

Java의 행렬 곱셈 예

다음은 행렬 곱셈의 예입니다

예시 #1

코딩 예제에서는 두 행렬을 행 단위로 입력한 후 행렬 곱셈을 수행하는 방법을 보여줍니다. 두 행렬의 곱셈을 위한 코드는 다음과 같습니다. 선언된 배열은 3개입니다. 첫 번째와 두 번째 행렬의 곱은 세 번째 행렬 내부에 표시됩니다. 그런 다음 행렬은 배열에 있는 두 행렬의 곱인 출력으로 표시됩니다.

코드:

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}

두 번째 행렬에도 동일한 요소가 포함되어 있습니다. 샘플 출력에서 ​​행렬과 샘플 출력의 곱셈을 확인할 수 있습니다. 매트릭스의 요소는 매우 멋진 방식으로 생성됩니다. 생산된 결과물

{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();
}
}

두 번째 샘플 코드에서는 3*3 행렬 두 개를 인쇄합니다. 첫 번째 행렬은 {1,1,1

1,1,1

1,1,1}

두 번째 행렬도 마찬가지입니다. 행렬 곱셈은 다음과 같은 방식으로 생성됩니다

{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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Java의 난수 생성기다음 기사:Java의 난수 생성기