声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2145|回复: 4

[综合讨论] 行列式求值,急

[复制链接]
发表于 2006-12-15 09:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用matlab的det()求一个矩阵的行列式的值,如果这个矩阵是病态矩阵什么的,对求解的结果有没有影响。有没有什么因素可影响求行列式的值?谢谢
    我的目的是计算一系列行列式中等于零的行列式,但不知计算的结果可信不。矩阵是一个8×8的矩阵。
回复
分享到:

使用道具 举报

发表于 2006-12-15 10:01 | 显示全部楼层

回复

把矩阵贴出来看看. "计算一系列行列式中等于零的行列式" 不知何意?

以解方程组为例,
一般当矩阵接近(病态)奇异时,MATLAB会给出警告;
如果A是奇异的,则计算结果为inf.

[ 本帖最后由 xjzuo 于 2006-12-15 10:12 编辑 ]
 楼主| 发表于 2006-12-15 11:08 | 显示全部楼层

回复 #1 ccwdys 的帖子

其实呢我解的是一个线性方程组,因为其有非平庸解的条件是其系数行列式=0,因为系数中有一个未知量b,我就让b取不同的值,来搜索行列式=0时b的值,也就是我要求的b值了。我的其中一个行列式如下:
L =

  1.0e+008 *

   0.0001   0.0000  -0.0000  -0.0001   0.0000  -0.0000  -0.1043   -0.0000
  -0.0000  -0.0001   0.0001   0.0000   0.0000  -0.0000  -0.0000    -0.1043
   0.0001  -0.0000  -0.0000   0.0001   0.0000   0.0000 - 1.0293i  -0.0000
  -0.0000   0.0001   0.0001  -0.0000   0.0000   0.0000  -0.0000  + 1.0293i
  -0.0000  -0.0000   0.0000   0.0000   0.0000  -0.0000   0.4524    0.0000
   0.0000   0.0000  -0.0000  -0.0000   0.0000  -0.0000   0.0000    0.4524
  -0.0000   0.0000  -0.0000   0.0000   0.0000  -0.0000  -1.5433   -0.0000
  -0.0000   0.0000  -0.0000   0.0000   0.0000  -0.0000  -0.0000   -1.5452
其中那些0.0000都不是零,但非常小只是因为显示的原因没有显示出来,我看了一下,最小的只有2左右。如果对这个行列式求值,会不会出现大的误差?
发表于 2006-12-15 19:20 | 显示全部楼层

回复

数值小并不一定意味着病态.由于你给的矩阵不完全,
所以你自己先cond看看;计算时如果矩阵奇异应当也会警告.
病态时由于不稳定,很可能产生较大误差.

另附:看了你在 SimWe的帖子,以及bainhome 的回复,总算明白了你的意思.
除了上面提到的可能情况,一般可以用以下方法解决:(不用搜索)
%%%写入你的系数矩阵A;
sym(A)
b1=solve(det(A));
b=eval(b1)    %%%即为所求

[ 本帖最后由 xjzuo 于 2006-12-15 20:30 编辑 ]
 楼主| 发表于 2006-12-16 15:50 | 显示全部楼层

回复 #3 ccwdys 的帖子

谢谢zuo主任,呵呵
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-24 23:23 , Processed in 0.063576 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表