Java 如何显示单位矩阵

Java 如何显示单位矩阵

在Java中,数组是一个对象。它是一种非原始数据类型,用于存储相同数据类型的值。Java中的矩阵实际上就是一个多维数组,表示多行和多列。

单位矩阵是一个方阵,其中所有主对角线上的元素(即从左上角到右下角的对角线)都是1,其他所有元素都是0。它用符号“I”或“In”表示,其中“n”表示矩阵的大小。

单位矩阵在线性代数中很重要,因为它在矩阵乘法中充当单位元素,意味着当一个矩阵乘以单位矩阵时,结果是原来的矩阵。

在这里,我们已经给出了矩阵的长度,并且我们需要显示该长度的单位矩阵。

让我们开始吧!

展示一些实例

实例-1

给定矩阵的长度 = 2

2×2的单位矩阵 =

1 0 
0 1

实例-2

给定矩阵的长度=4

2*2的单位矩阵=

1 0 0 0 
0 1 0 0
0 0 1 0
0 0 0 1

实例-3

给定矩阵的长度为6

2×2的单位矩阵=

1 0 0 0 0 0 
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1

步骤

步骤-1

  • 步骤-1 - 该程序使用名为identity的2D数组创建一个大小为’n’的单位矩阵。

  • 步骤-2 - 它使用嵌套for循环遍历矩阵的每个元素,并检查当前元素是否在对角线上(行索引等于列索引)。

  • 步骤-3 - 如果它在对角线上,则将元素设置为1,否则设置为0。

  • 步骤-4 - 一旦矩阵填充了适当的值,它使用另一组嵌套for循环将矩阵显示在控制台上。

  • 步骤-5 - 最后,在打印每行后打印一个换行符,以以方形形式显示矩阵。

步骤-2

  • 步骤-1 - 该程序使用名为identity的2D数组创建一个大小为n的单位矩阵。

  • 步骤-2 - 然而,它不使用嵌套for循环来将对角线元素填充为1和其他元素填充为0,而是使用Arrays.fill()方法来首先用0填充矩阵的每一行。

  • 步骤-3 - 然后,它使用另一个for循环将每行的对角线元素设置为1。

  • 步骤-4 - 最后,它使用另一组嵌套for循环将矩阵显示在控制台上。

  • 步骤-5 - 在打印每行后打印一个换行符,以以方形形式显示矩阵。

语法

1. Java中的 length() 方法返回给定矩阵的长度。

下面是它的语法 –

inputMatrix.lenght

在这里,’inputMatrix’是给定矩阵。

2. IntStream.range() 是Java中的一个方法,它生成从startInclusive到endExclusive – 1的连续整数流。

IntStream.range(startInclusive, endExclusive)

它可以用来对一组整数执行操作。例如,在第二个代码中,它被用来遍历矩阵的行和列。

然后,在流上调用 forEach 方法,对流中的每个元素执行一个操作。

多种方法

我们提供了不同的解决方案。

  • 通过使用嵌套的for循环

  • 通过使用Arrays.fill()方法

让我们逐个查看程序及其输出。

方法-1:通过使用嵌套的for循环

在这种方法中,程序将初始化矩阵的长度。然后根据算法使用嵌套的for循环显示该长度的单位矩阵。

示例

public class Main {
   public static void main(String[] args) {
      int n = 5; // size of the matrix
      int[][] identity = new int[n][n];

      // Fill the diagonal elements with 1 and other elements with 0
      for(int i = 0; i < n; i++) {
         for(int j = 0; j < n; j++) {
            if(i == j)
               identity[i][j] = 1;
            else
               identity[i][j] = 0;
         }
      }

      // Display the matrix
      for(int i = 0; i < n; i++) {
         for(int j = 0; j < n; j++) {
            System.out.print(identity[i][j] + " ");
         }
         System.out.println(); // print a newline after each row is printed
      }
   }
}

输出

1 0 0 0 0 
0 1 0 0 0 
0 0 1 0 0 
0 0 0 1 0 
0 0 0 0 1

方法2:使用Arrays.fill()方法

在这种方法中,程序将初始化矩阵的长度。然后根据算法,使用Arrays.fill()方法显示一个该长度的单位矩阵。

示例

import java.util.Arrays;
public class Main {
   public static void main(String[] args) {
      int n = 8; // size of the matrix
      int[][] identity = new int[n][n];

      // Fill the diagonal elements with 1 using Arrays.fill() method
      for(int i = 0; i < n; i++) {
         Arrays.fill(identity[i], 0); // fill each row with 0 initially
         identity[i][i] = 1; // set the diagonal element to 1
      }

      // Display the matrix
      for(int i = 0; i < n; i++) {
         for(int j = 0; j < n; j++) {
            System.out.print(identity[i][j] + " ");
         }
         System.out.println(); // print a newline after each row is printed
      }
   }
}

输出

1 0 0 0 0 0 0 0 
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1

在这篇文章中,我们使用Java编程语言探讨了展示单位矩阵的不同方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程