zoukankan      html  css  js  c++  java
  • 两个矩阵相乘算法

    本来是处理两个矩阵的连乘求如何加括号使得中间的运算次数最少的问题,但是突然想到实现一下如何求连个矩阵连乘的算法,就实现了一下,挺简单的:

    注意程序围绕的思想:
    1.两个矩阵相乘,前一个矩阵的列等于一个矩阵的行
    2.拿前一个矩阵的每一行,依次的乘以后一个矩阵的每一列
    [cpp] view plain copy

        #include  
        //注意矩阵连乘需要满足的是:  
        //前一个矩阵的列等于后一个矩阵的行   
        using namespace std;  
        int main(){  
            int a[3][1] = {  
            {1},  
            {2},  
            {3}  
            };  
            int b[1][3] = {{1,2,3}};  
            int c[3][3];  
            int temp;  
            for (int i=0; i<3; i ){ //拿出数组a的每一行   
                for (int z=0; z<3; z ){ //分别和数组b的每一列进行相乘  
                    int sum = 0;  //因为每次乘以数组a的每一列都会产生数组c中的一个元素,所以sum要放在这里   
                    for(int j=0; j<1; j ){  
                        sum = a[i][j] * b[j][z];  
                    }  
                    c[i][z] = sum;    
                 
             
              
            for (int i=0; i<3; i ){  
                for (int j=0; j<3; j )  
                    cout << c[i][j];   
                cout << endl;   
            }  
        }


  • 相关阅读:
    画多个立方体组成的正方体
    MATLAB 图形着色
    patch函数的解释2
    patch函数的解释1
    矩阵方程求解内置函数
    Hessian矩阵
    MATLAB卷积运算(conv、conv2、convn)解释
    MATLAB常用快捷键命令总结
    稀疏矩阵绘制
    P1855 榨取kkksc03【多维01背包】
  • 原文地址:https://www.cnblogs.com/amengduo/p/9586511.html
Copyright © 2011-2022 走看看