矩阵相乘

作者: 逍遥_9353 | 来源:发表于2018-04-20 11:44 被阅读25次

/*矩阵相乘

  题目描述:两个矩阵的乘法仅当第一个矩阵A的行数和另一个

            矩阵B的列数相等时才能定义。例如,如果A是m*n

的矩阵,B是n*p的矩阵,他们的乘积C是一个m*p

的矩阵,其中的元素1<=i<=m,1<=j<=p,请编程实

现矩阵乘法,并考虑当矩阵规模比较大时的优化方

法。

A        B        C

      1  2    0  1    0  1

            *        =

  3  4    0  0    0  3

*/

/* 思路:A、B、C是三个相同维数的二维数组,A的行数与B的列数相

        等时,所在值相乘得到C所在行列的值,因此先用双重循环

输入二维数组,在通过初始化循环得到相乘的值保存下来,

输出新的矩阵C.

*/

#include<iostream>

using namespace std;

int main()

{

//定义三个二维数组,相同维数n,循环次数i,j,k

int matrixa[100][100],matrixb[100][100],matrixc[100][100],n,i,j,k;

cin>>n;

//输入两个二维数组

for(i=0;i<n;i++)

for(j=0;j<n;j++)

cin>>matrixa[i][j];

for(i=0;i<n;i++)

    for(j=0;j<n;j++)

    cin>>matrixb[i][j];

//得到新的二维数组

for(int i=0;i<n;i++)

{

for(int j=0;j<n;j++)

{

matrixc[i][j]=0;//初始化为0

for(int k=0;k<n;k++)

{

matrixc[i][j]+=matrixa[i][k]*matrixb[k][j];

}

}

}

cout<<"\n\n";

//输出新的二维数组

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

{

cout<<matrixc[i][j];

}

cout<<"\n";

}

return 0;

相关文章

  • 矩阵

    1. 线性方程组 2. 矩阵定义 3. 矩阵运算 矩阵的加法矩阵的加法 数与矩阵相乘数与矩阵相乘 矩阵与矩阵相乘矩...

  • 矩阵运算

    矩阵与标量的乘法 每个元素与标量相乘 矩阵相乘 只有第一个矩阵的列数与第二个矩阵的行数相同,才可以相乘。新矩阵行数...

  • OpenGL笔记六:纹理常用API(一)

    前言 期待您移步上篇:OpenGL笔记五:综合实例理解-压栈、出栈、堆栈矩阵相乘、矩阵相乘、向量相乘 纹理 纹理只...

  • 矩阵论-矩阵乘法的意义

    推荐书籍: 《神奇矩阵》 AB矩阵相乘的表示形式我喜欢这种。 当然有了矩阵相乘也有其反向操作,矩阵的分解。

  • 矩阵和矩阵的相乘_线性代数_day15

    矩阵在图像变换中的应用 矩阵乘法的定义 矩阵和矩阵的相乘,就是分成每一个矩阵和向量的相乘 矩阵A的列数必须和矩阵B...

  • numpy -- 实现线性代数

    Python 实现线性代数 m_n 与 n_k 这样的矩阵才能相乘 矩阵求逆 矩阵和矩阵的逆相乘结果为单位矩阵 qr分解

  • 矩阵相乘

    /*矩阵相乘 题目描述:两个矩阵的乘法仅当第一个矩阵A的行数和另一个 矩阵B的列数相等时才能定义...

  • 矩阵相乘

  • 矩阵相乘

    include using namespace std; int main(){ // ...

  • tensorflow中矩阵相乘的操作

    batch下的矩阵相乘

网友评论

    本文标题:矩阵相乘

    本文链接:https://www.haomeiwen.com/subject/ohuakftx.html