| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:新人求教高手帮忙解释下,矩阵相乘的问题。
只看楼主 加入收藏
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
结帖率:33.33%
收藏
 问题点数:0 回复次数:4 
新人求教高手帮忙解释下,矩阵相乘的问题。
#include "stdafx.h"
#include<iostream>
#include<math.h>
using namespace std;
int main(int argc, char* argv[])
{
    int m[3][4]={{1,2,3,4},{2,2,3,1},{5,4,2,3}};
    int n[4][3]={{6,3,2},{2,8,1},{6,9,5},{2,4,6}};
    int i,j,k;
    int q[3][3]={{0},{0},{0}};
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<4;k++)
 q[i][j]=q[i][j]+m[i][k]*n[k][j];
for(i=0;i<3;i++)
{

    for(j=0;j<3;j++)
        cout<<q[i][j]<<" ";
    cout<<endl;
}
return 0;
}
帮忙解释下这里为什么会有两个q[i][j]:   q[i][j]=q[i][j]+m[i][k]*n[k][j];
搜索更多相关主题的帖子: return 
2011-04-26 20:20
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
你是概念没弄清、

离恨恰如春草,更行更远还生。
2011-04-26 20:35
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
收藏
得分:0 
回复 2楼 玩出来的代码
帮忙解释下好么,刚学没多久
2011-04-26 20:43
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
按矩阵乘法定义(假设是 m*l 和 l*n 的两个矩阵)不是
qij = ai1*b1j + ai2*b2j + ... aik*bkj + ... + ail*blj
不是得累加在一起吗。它算出第 k 项之后,得把它和之前的都加起来。之前的就是 q[i][j]。
2011-04-26 21:29
Noll_Nie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:139
注 册:2011-4-19
收藏
得分:0 
当然是两个啦
这里是求和嘛,要将所有的乘积加起来才是乘积矩阵的一个元素
还可以写成
 q[i][j] += m[i][k] * n[k][j];
2011-04-26 21:33
快速回复:新人求教高手帮忙解释下,矩阵相乘的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015009 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved