给定一个矩阵 mat[row][column],我们的任务是通过函数检查给定矩阵是否奇异并显示结果。
奇异矩阵是其行列式的矩阵为零,如果行列式不为零,则该矩阵是非奇异的。
因此,要确定该矩阵是奇异的还是非奇异的,我们需要首先计算行列式。矩阵的行列式可以计算为 –
$$M1[3][3]:=:egin{bmatrix}a & b & c d & e & f g & h & i end{bmatrix}$$
|m1| = a(e*i – f*h) – b(d*i – f*g) + c(d*h – e*g)
示例
Input-: mat[3][3]= { 4, 10, 1 }, { 0, 2, 3 }, { 1, 4, -3 }Output-: matrix is non-singularInput-: mat[3][3]= { 0, 0, 0 }, { 10, 20, 30 }, { 1, 4, -3 }Output-: matrix is singularSince the entire first row is 0 the determinant will be zero only
登录后复制
算法
StartIn function cofactor(int matrix[N][N], int matrix2[N][N], int p, int q, int n){ Step 1-> Declare and initialize i = 0, j = 0, row, col Step 2-> Loop For row = 0 and row Declare and initialize int D = 0; Step 2-> If n == 1 then, Return matrix[0][0] Step 3-> Declare matrix2[N][N], sign = 1 Step 4-> Loop For f = 0 and f Return DIn main() Step 1-> Declare and initialize a matrix[N][N] Step 2-> If call check_singular(matrix, N) returns non 0 value then, Print "Matrix is Singular " Step 3-> Else Print "Matrix is non-Singular "Stop
登录后复制
示例
实时演示
#include #define N 4//to find the cofactorsint cofactor(int matrix[N][N], int matrix2[N][N], int p, int q, int n) { int i = 0, j = 0; int row, col; // Looping for each element of the matrix for (row = 0; row"); else printf("Matrix is non-Singular
"); return 0;}
登录后复制
输出
如果运行上面的代码,它将生成以下输出 –
Matrix is non-Singular
登录后复制
以上就是检查矩阵是否奇异的C程序的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2587541.html