📜  马尔可夫矩阵的Java程序

📅  最后修改于: 2022-05-13 01:55:20.120000             🧑  作者: Mango

马尔可夫矩阵的Java程序

给定 amxn 二维矩阵,检查它是否是马尔可夫矩阵。
马尔可夫矩阵:每行之和等于 1 的矩阵。

马尔可夫矩阵的例子

例子:

Input :
1    0   0
0.5  0  0.5
0    0   1
Output : yes

Explanation :
Sum of each row results to 1, 
therefore it is a Markov Matrix.

Input :
1 0 0
0 0 2
1 0 0
Output :
no

方法:初始化一个二维数组,然后取另一个一维数组来存储矩阵每一行的和,检查这个一维数组中存储的和是否都等于1,如果是则为马尔可夫矩阵,否则不是。

Java
// Java code to check Markov Matrix
import java.io.*;
  
public class markov
{
    static boolean checkMarkov(double m[][])
    {
        // outer loop to access rows
        // and inner to access columns
        for (int i = 0; i < m.length; i++) {
  
            // Find sum of current row
            double sum = 0;
            for (int j = 0; j < m[i].length; j++)
                sum = sum + m[i][j];
  
            if (sum != 1)
               return false;
        }
  
        return true;
    }
  
    public static void main(String args[])
    {
        // Matrix to check
        double m[][] = { { 0, 0, 1 },
                         { 0.5, 0, 0.5 },
                         { 1, 0, 0 } };
  
        // calls the function check()
        if (checkMarkov(m))
            System.out.println(" yes ");
        else
            System.out.println(" no ");
    }
}


输出 :

yes

有关详细信息,请参阅有关马尔可夫矩阵程序的完整文章!