C语言 矩阵乘法

       矩阵运算时,逐行逐列相乘再相加,因此对于二维矩阵,需要两个for循环来求解,第一个for循环指定行,第二个for循环指定列。除此之外,定义一个变量k来标识A的行中个元素以及标识B的列中个元素。通过k的增加来遍历A的行中的元素和遍历B的列中的元素。

运用C语言进行二维矩阵乘法运算代码如下:

#include<stdio.h>

#define M 3
#define N 4
#define P 5


int main()
{
int i, j, k;
int a[M][N], b[N][P], c[M][P];
printf("a=\n");
for (i = 0; i < M; i++)

for (j = 0; j < N;j++)
scanf("%d", &a[i][j]);
}
printf("b=\n");
for (j = 0; j < N; j++)
{
for (k = 0; k < P; k++)
scanf("%d", &b[j][k]);
}


for (i = 0; i < M; i++)
{
for (k = 0; k < P; k++)
c[i][k] = 0;
}


for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
for (k = 0; k < P; k++)
{
c[i][k] += a[i][j] * b[j][k];
}

}


printf("c=\n");
for (i = 0; i < M; i++)
{
for (k = 0; k < P; k++)
printf("%d ", c[i][k]);
printf("\n");
}
return 0;

}

阅读更多
文章标签: C语言
个人分类: C/C++
上一篇opencv学习笔记——自己训练人脸识别分类器
下一篇《机器学习实战》 第七章 adaboost元算法 学习总结
想对作者说点什么? 我来说一句

矩阵乘法的多线程算法

2013年11月13日 70KB 下载

没有更多推荐了,返回首页

关闭
关闭