判断N阶矩阵是否为严格对角占优矩阵

这篇具有很好参考价值的文章主要介绍了判断N阶矩阵是否为严格对角占优矩阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:仅供参考


前言

用于C语言学习交流,本代码使用vs2022实现,scanf函数请自行修改。

比较基础的一道题目


提示:以下是本篇文章正文内容,下面案例可供参考

一、问题描述

       求解一般线性方程组Ax = b时, 如果A矩阵是严格对角占优矩阵,那么我们可以使用雅可比方法迭代求出他的最终解. 输入一个n * n的矩阵, 试着判断这个矩阵是不是严格对角占优矩阵。
满足以上条件的矩阵n * n矩阵被称为严格对角占优矩阵:
即对于该矩阵主对角线上的任意一个元素, 都满足其绝对值严格大于与它同行的其他元素绝对值之和。
输入格式为第一行输入n, 表示矩阵是n * n的,
接下来n行每行输入n个数字, 用空格隔开, 第i行第j个数字表示aij。判断N阶矩阵是否为严格对角占优矩阵
示例:
输入:
3
1 2 3
4 5 6
7 8 9
输出:NO
输入:
4
4 1 1 1
2 6 1 2
3 7 15 -2
-1 -2 4 -19
输出:YES

二、参考代码

代码如下:

#include<stdio.h>
#include<stdlib.h>
#define Q 15


int main()
{
    int n, m = 0;
    printf("请输入矩阵的阶数:");
    scanf_s("%d", &n);                                                 //由用户自己输入函数的阶数
    int a[Q][Q];
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
        {
            scanf_s("%d", &a[i][j]);                                   //输入矩阵的数据存放到数组中
            if (a[i][j] < 0) a[i][j] = -a[i][j];                       //如果数据小于0,则取绝对值
        }


    for (int i = 0; i < n; i++)
    {
        for (int j=0; j < n; j++)
        {
            if (i == j) continue;                                       //将第i行除去对角线上的元素的和加到m中
            m = m + a[i][j];
        }
        if (a[i][i] < m)                                                //对第i行进行判断,如果有不符合条件的行即可退出判断
        {
            printf("NO");
            break;
        }
        else if (i == n-1)                                              //循环结束判断
            printf("YES");
        m = 0;
    }

}

2.测试

测试样例(示例):这里只给出部分测试样例,具体请自行调试。

 

判断N阶矩阵是否为严格对角占优矩阵文章来源地址https://www.toymoban.com/news/detail-504407.html


到了这里,关于判断N阶矩阵是否为严格对角占优矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB-判断两矩阵是否相等

    相等的位置返回1,不相等则返回0 相等返回1,不相等返回0 注意:矩阵不可以包含NaN,因为这个函数中,NaN~=NaN。

    2024年02月06日
    浏览(86)
  • python 施密特标准正交化 + 判断矩阵是否正交(亲测!)

    【线性代数】标准正交矩阵与Gram-Schmidt正交化_nineheaded_bird的博客-CSDN博客_标准正交矩阵         标准正交向量组定义:任一向量的 模为1(向量标准化) ,且任意两个向量的 乘积为0(向量正交化) ,可通过 施密特标准正交化 实现。       线性无关向量组未必是正交

    2024年02月03日
    浏览(51)
  • MATLAB练习题:给定两个同型方阵A和B,请判断A和B是否互为对方的逆矩阵。

     ​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 给定两个同型方阵A和B,请判断A和B是否互为对方的逆矩阵。(提示:如果A*B或者B*A的结果是单位矩阵,则

    2024年02月21日
    浏览(56)
  • #MATLAB 产生一均匀分布在(-5,5)随机阵(50x2),精确到小数点后一位,并判断该矩阵中是否含有0元素

            产生一均匀分布在(-5,5)随机阵(50x2),精确到小数点后一位,并判断该矩阵中是否含有0元素 题解: 输出示例1:  a =    -3.9000    3.8000    -0.4000    3.5000     2.2000    4.8000    -4.8000   -4.6000     4.6000   -4.7000     1.7000    3.8000    -4.7000    0.3000     1.3000   -1.

    2024年02月04日
    浏览(45)
  • Python生成对角矩阵和对角块矩阵

    scipy中的函数 在 scipy.linalg 中,通过 tri(N, M=None, k=0, dtype=None) 可生成 N × M Ntimes M N × M 对角矩阵,若 M=None ,则 M M M 默认为 N N N 。 k 表示矩阵中用1填充的次对角线个数。 在 numpy 中也提供了多种对角矩阵生成函数,包括 diag , diagflat , tri , tril , triu 等, numpy.diagflat diagflat 用于

    2024年02月01日
    浏览(47)
  • torch.diag() 取矩阵对角线元素,torch.diag_embed() 指定值变成对角矩阵

    1、torch.diag() 2、torch.diag_embed()

    2024年02月16日
    浏览(37)
  • [矩阵论]正规矩阵可酉相似对角化

    满足: A H A = A A H A^H A = AA^H A H A = A A H 的矩阵,被称为正规矩阵 证明 A A A 可以酉相似对角化的 充要 条件是, A A A 是正规矩阵 A H A = A A H A^H A = AA^H A H A = A A H 这里插一句: 一般矩阵可以对角化是: P − 1 A P = Λ P^{-1}AP = Lambda P − 1 A P = Λ Λ Lambda Λ 是对角阵,而对角化只要

    2023年04月22日
    浏览(43)
  • 特殊矩阵的压缩存储(对称矩阵,三角矩阵和三对角矩阵)

    目录 1.对阵矩阵 2.三角矩阵 3.三对角矩阵(带状矩阵) 定义:若对一个n阶矩阵A中的任意一个元素 aᵢ,ⱼ 都有aᵢ,ⱼ=aⱼ,ᵢ (1≤i,j≤n),则称其为对称矩阵。 存储策略:只存储主对角线+下三角区(或主对角线+上三角区),以主对角线+下三角区为例,按照行优先把这些元

    2024年02月09日
    浏览(38)
  • 输入一个n×n的矩阵,分别计算该矩阵主对角线元素与副对角线元素之和。

    输入格式: 输入包含n + 1行: 第一行为一个正整数n(1 = n = 10)。 第二行到第n + 1行,每行有n个整数,邻近两数之间用一个空格隔开。 输出格式: 两数之间用一个空格隔开。 输入样例: 4 2 3 4 1 5 6 2 1 7 1 8 3 1 6 1 1 输出样例: 17 5

    2024年02月11日
    浏览(49)
  • 分块对角矩阵的求逆

    分块对角矩阵的逆矩阵: [ A B C ⋱ ] − 1 = [ A − 1 B − 1 C − 1 ⋱ ] begin{bmatrix} mathbf{A} \\\\ mathbf{B} \\\\ mathbf{C} \\\\ ddots \\\\ end{bmatrix}^{-1} = begin{bmatrix} mathbf{A}^{-1} \\\\ mathbf{B}^{-1} \\\\ mathbf{C}^{-1} \\\\ ddots \\\\ end{bmatrix} ⎣ ⎢ ⎢ ⎡ ​ A ​ B ​ C ​ ⋱ ​ ⎦ ⎥ ⎥ ⎤ ​ − 1 = ⎣ ⎢ ⎢ ⎡

    2024年02月05日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包