C语言中如何求两个矩阵的乘积

技术C语言中如何求两个矩阵的乘积这篇文章将为大家详细讲解有关C语言中如何求两个矩阵的乘积,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。分析在数学中,矩阵(Matrix)是

本文将详细说明如何用C语言求两个矩阵的乘积。这篇文章的内容质量很高,所以边肖会分享给大家参考。希望你看完这篇文章后有所了解。

00-1010在数学中,矩阵是按照矩形阵列排列的一组复数或实数。矩阵是高等代数中的常用工具,在统计分析等应用数学学科中也很常见。

C语言中如何求两个矩阵的乘积

矩阵的乘法有以下注意事项:

1.当矩阵a的列数等于矩阵b的行数时,a和b可以相乘。

2.矩阵C的行数等于矩阵A的行数,C的列数等于b的列数。

3.乘积C的第m行和第n列中的元素等于矩阵A的第m行中的元素与矩阵b的第n列中的对应元素的乘积之和。

C语言中如何求两个矩阵的乘积

代码实现:只需要用矩阵乘积的公式就可以找到一个新的矩阵,也就是两个矩阵的乘积。在程序中,还需要判断两个矩阵是否可以相乘。

分析

# includes dio . h

intmain()

{

int line _ a=0;//矩阵行数

int col _ a=0;//矩阵的列数

int line _ b=0;//B矩阵行数

int col _ b=0;//B矩阵的列数

inti=0;

int j=0;

int k=0;

/*获取矩阵A的行数和列数*/

Printf(‘请输入矩阵的行数和列数\ n ‘);

scanf(‘%d%d ‘,line_a,col _ a);

int matrix _ A[line _ A][col _ A];

/*获取B矩阵的行数和列数*/

Printf(‘请输入B矩阵的行数和列数\ n ‘);

scanf(‘%d%d ‘,line_b,col _ b);

int matrix _ B[line _ B][col _ B];

if(col_a!=line_b)

{

Printf(‘错误,矩阵A的列数和矩阵B的行数必须相等!\ n ‘);

返回0;

}

int matrix _ C[line _ a][col _ b];//C矩阵:a矩阵和b矩阵的乘积。

/*获取矩阵元素*/

for(I=0;iline _ a;(一)

{

Printf(‘请在矩阵的第%d行输入元素\n ‘,I);

      for(j = 0; j < col_a; j++)
        {
            scanf("%d", &matrix_A[i][j]);
        }
    }
    /* 获取B矩阵元素 */
    for(i = 0; i< line_b; i++)
    {
        printf("请输入B矩阵第%d行元素\n", i);
        for(j = 0; j < col_b; j++)
        {
            scanf("%d", &matrix_B[i][j]);
        }
    }
    /* 打印矩阵 */
    printf("输入的A矩阵为:\n");
    for(i = 0; i < line_a; i++)
    {
        for(j = 0; j < col_a; j++)
        {
            printf("%d\t", matrix_A[i][j]);
        }
        printf("\n");
    }
    printf("输入的B矩阵为:\n");
    for(i = 0; i < line_b; i++)
    {
        for(j = 0; j < col_b; j++)
        {
            printf("%d\t", matrix_B[i][j]);
        }
        printf("\n");
    }
    /* 求AB的乘积,即矩阵C */
    for(i = 0; i < line_a; i++)
    {
        for(j = 0; j < col_b; j++)
        {
            matrix_C[i][j] = 0; //初始化
            for(k = 0; k < col_a; k++)
              matrix_C[i][j] += matrix_A[i][k] * matrix_B[k][j];
        }
    }
    /* 打印C矩阵 */
    printf("A矩阵乘B矩阵:\n");
    for(i = 0; i < line_a; i++)
    {
        for(j = 0; j < col_b; j++)
        {
            printf("%d\t", matrix_C[i][j]);
        }
        printf("\n");
    }
    return 0;
}

运行结果

C语言中如何求两个矩阵的乘积

关于C语言中如何求两个矩阵的乘积就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84018.html

(0)

相关推荐

  • 零钱通的钱怎么转到银行卡,零钱通可以转出到另一张银行卡

    技术零钱通的钱怎么转到银行卡,零钱通可以转出到另一张银行卡零钱通的钱转到银行卡具体步骤如下零钱通的钱怎么转到银行卡:1. 打开微信app,登录,进入我的页面中。2. 在我的页面中选择“支付”,点击“零钱”,在零钱界面进入

    生活 2021年10月25日
  • 狗狗来大姨妈,母狗狗也会来“大姨妈”

    技术狗狗来大姨妈,母狗狗也会来“大姨妈”会滴,会滴,只要是母的狗,都会来红色朋友狗狗来大姨妈。嗯,红色朋友,就是大家指的大姨妈。母狗,在长到六七个月的时候就会来红色朋友。在狗狗的世界里,这叫做发情期啦!狗狗发情期一般是十

    生活 2021年10月29日
  • spark快速入门菜鸟教程(大数据spark入门教程)

    技术Spark该怎样入门本篇文章为大家展示了Spark该怎样入门,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. Spark简介2009年,Spark诞生于伯克利大学的AMPL

    攻略 2021年12月17日
  • 银氨溶液化学式,苯甲醛和银氨溶液的反应方程式

    技术银氨溶液化学式,苯甲醛和银氨溶液的反应方程式苯甲醛与银氨溶液反应方程式是HCHO+4Ag(NH3)2OH—△→(NH4)2CO3+4Ag↓+6NH3+2H2O银氨溶液化学式。 苯甲醛,甲醛的氢被苯取代后形成的有机化

    生活 2021年10月30日
  • KEGG Glycan 数据库的原理是什么

    技术KEGG Glycan 数据库的原理是什么这篇文章将为大家详细讲解有关KEGG Glycan 数据库的原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。复合糖作

    攻略 2021年12月2日
  • c1驾照几年审一次,驾照c本,多久年检一次啊

    技术c1驾照几年审一次,驾照c本,多久年检一次啊驾照c本在换证时才需要年检c1驾照几年审一次。 根据《机动车驾驶证申领和使用规定》:
    第七十条 机动车驾驶人应当按照法律、行政法规的规定,定期到公安机关交通管理部门接受审

    生活 2021年10月28日