| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5421 人关注过本帖
标题:[求助] 如何求两个行列式的积
只看楼主 加入收藏
nianshi
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-7
收藏
 问题点数:0 回复次数:9 
[求助] 如何求两个行列式的积
题目:求两个行列式的积? 用C程序实现
两个行列式的积的含义是?行列式就是个矩阵吧,也就可以理解为是一个二维数组吧,那么两个行列式的积怎么求呢?请大家指教了:)
搜索更多相关主题的帖子: 行列式 矩阵 含义 
2007-11-09 10:58
万兽无缰
Rank: 1
等 级:新手上路
威 望:1
帖 子:296
专家分:0
注 册:2007-8-27
收藏
得分:0 

可以用二维数组来求解
两个行列式相乘,前一个的列一定等于后一个的行
你写两个FOR循环就搞定了
附:
两个矩阵相乘的源程序

/*****************A=B*C******************/
#include<stdio.h>
#include<conio.h>
#define X 3
#define Y 3

int a[X][Y];
int b[X][Y];
int c[X][Y];

void matrix(int b[][X],int c[][Y]);
main()
{
int i,j,temp;
clrscr();
printf("Please input int matrix b[%d][%d]\n",X,Y);
for(i=0;i<Y;i++)
for(j=0;j<Y;j++){
scanf("%d",&temp);
b[i][j]=temp;
}
printf("Please input int matrix c[%d][%d]\n",X,Y);
for(i=0;i<X;i++)
for(j=0;j<Y;j++){
scanf("%d",&temp);
c[i][j]=temp;
}
matrix(b,c);
printf("Now print resource matrix b[%d][%d]=",X,Y);
for(i=0;i<X;i++){
printf("\n");
for(j=0;j<Y;j++)
printf("%d ",b[i][j]);
}
printf("\n");
printf("Now print resource matrix c[%d][%d]=",X,Y);
for(i=0;i<X;i++){
printf("\n");
for(j=0;j<Y;j++)
printf("%d ",c[i][j]);
}
printf("\n");
printf("Now printm multiply results matrix a[%d][%d]=B*C:",X,Y);
for(i=0;i<X;i++){
printf("\n");
for(j=0;j<Y;j++)
printf("%d ",a[i][j]);
}
getch();
return 0;
}
/********************************************************************/
void matrix(int b[][X],int c[][Y])
{
int i,j,k,temp;
for(i=0;i<X;i++)
for(j=0;j<Y;j++){
for(k=0;k<Y;k++)
a[i][j]+=b[i][k]*c[k][j];
}
}


[此贴子已经被作者于2007-11-9 11:13:16编辑过]


女朋友问我想怎么死~~~
             我说我想"爽死"
2007-11-09 11:04
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

都已经说了是行列式 说明是方阵,方阵的阶是一样的.


倚天照海花无数,流水高山心自知。
2007-11-09 11:14
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
收藏
得分:0 

第一 行列式不是矩阵,它是矩阵通过某种运算得到的结果
比如 A=[1 0 0
0 1 0
0 0 1]
A的行列式就是: |A|=1;
第二 行列式的积 |A|*|B|,首先就是把A,B的行列式求出来。然后相乘就可以了。
(注意:行列式的乘积不是等于矩阵乘积的行列式的)
现在就是要去求行列式,
高等代数里面说了,n级行列式等于所有取自不同行不同列的的n个元素的乘积的代数和。

并且每一项(an1*an2*an3....ann,其中ni表示元素的下标)都带符号的(正负号);符号规则如下:
如果 n1,n2,n3...nn是偶排列,符号是正号
如果是奇排列,是负号。
第三 什么是奇,偶排列?
首先要讲什么是逆续.........
晕,实在太多了,你去找本高等代数看看吧,我讲不下去了......

[此贴子已经被作者于2007-11-9 11:20:51编辑过]

2007-11-09 11:18
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
收藏
得分:0 
回复2楼,行列式的乘积不等于矩阵的乘积的
2007-11-09 11:19
万兽无缰
Rank: 1
等 级:新手上路
威 望:1
帖 子:296
专家分:0
注 册:2007-8-27
收藏
得分:0 
回复:(chmlqw)回复2楼,行列式的乘积不等于矩阵的乘...

请仔细看LZ的帖子
LZ问了,我当然把距阵的贴出来给他看看


女朋友问我想怎么死~~~
             我说我想"爽死"
2007-11-09 11:27
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
收藏
得分:0 
回6楼
题目:求两个行列式的积? 用C程序实现
2007-11-09 11:31
nianshi
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-7
收藏
得分:0 
回4楼,行列式并不等于矩阵。那也就不能用简单的两个矩阵的乘积来做了。
看来这个算法挺麻烦的啊,关键是我对行列式乘积的原理弄不懂,真要找一本高数看看了

行至水穷处 坐看去起时
C语言QQ群1:51871776  群2:26313099  群3:47145282
2007-11-09 11:42
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
收藏
得分:0 

行列式的求解,我知道的有两种算法
第一,就是定义式,就是我上面说的。比较麻烦,我也说不清楚得。
第二,就是用初等行变换把他变成上(或者下)三角矩阵,然后对角线上元素想乘就可以了。
这个应该比较简单点。

2007-11-09 11:49
nianshi
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-7
收藏
得分:0 
哦 谢谢chmlqw。

行至水穷处 坐看去起时
C语言QQ群1:51871776  群2:26313099  群3:47145282
2007-11-09 11:55
快速回复:[求助] 如何求两个行列式的积
数据加载中...
 
   



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

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