| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 835 人关注过本帖
标题:矩阵相乘
只看楼主 加入收藏
永远爱你!
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-11-7
结帖率:75%
收藏
 问题点数:0 回复次数:9 
矩阵相乘
我编了一个小程序用来实现得到两个矩阵相乘的结果,只会N×N阶的矩阵乘以N×N阶的矩阵,怎么编写N×I阶的矩阵乘以I×N阶的矩阵???
搜索更多相关主题的帖子: 矩阵 相乘 
2008-11-30 21:27
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
你先把源程序贴上来看看吧,应该差别不大的。因为N*N的矩阵相乘和N*I与I*N相乘没有本质区别。
LZ要以N*I与I*N这个作为通常情况,N*N作为特例来看待,这样就能写出这个程序的思路了。
2008-11-30 21:48
初级爱好者
Rank: 1
来 自:宣城
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-30
收藏
得分:0 
main()
{  int a[2][3],b[3][2],c[2][2],i,j;
   用for循环输入a,b数组
   for(i=0;i<2;i++)
   for(j=0;j<3;j++)
   for(k=0;k<3;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
再用for循环输出c[i][j]
   
不知道是不是你想要的

进步
2008-11-30 22:14
永远爱你!
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-11-7
收藏
得分:0 
#include<stdio.h>
main()
{
int a[3][3]={{2,3,4},{1,3,2},{2,4,5}};
int b[3][3]={{1,3,2},{2,1,3},{4,1,5}};
int c[3][3]={{0},{0},{0}};
int i,j,t;
for(i=0;i<3;i++)
{
    for(j=0;j<3;j++)
for(t=0;t<3;t++)
{
    c[i][j]=c[i][j]+a[i][t]*b[t][j];
}
}

for(i=0;i<3;i++)
{
    for(j=0;j<3;j++)
        printf("%5d",c[i][j]);
    printf("\n");
}
}
这是我编的,怎么把他变成N×I阶的矩阵乘以I×T阶的矩阵????
2008-12-01 10:23
永远爱你!
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-11-7
收藏
得分:0 
各位大侠帮帮忙吧,怎么算N×I阶的矩阵乘以I×T阶的矩阵????
2008-12-01 22:56
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
dp

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-12-02 12:34
永远爱你!
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-11-7
收藏
得分:0 
以下是引用卧龙孔明在2008-12-2 12:34的发言:

dp

版主不厚道,我虚心求教你只来了DP,是不是我问的太简单了,不值得你一回答
2008-12-02 12:54
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:0 
直接修改一下循环条件和数组下标就好
好几天了还没想到?
不得不怀疑那个是不是你自己写的

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-12-02 14:23
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:0 
#include<stdio.h>
main()
{
int a[2][3]={{2,3,4},{1,3,2}};
int b[3][1]={{1,3,2}};
int c[2][1]={0};
int i,j,t;
for(i=0;i<2;i++)
{
    for(j=0;j<1;j++)
for(t=0;t<3;t++)
{
    c[i][j]=c[i][j]+a[i][t]*b[t][j];
}
}

for(i=0;i<2;i++)
{
    for(j=0;j<1;j++)
        printf("%5d",c[i][j]);
    printf("\n");
}
}
2008-12-02 22:28
intelcore2
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-4-6
收藏
得分:0 
dp是真么意思?
2009-10-21 12:44
快速回复:矩阵相乘
数据加载中...
 
   



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

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