声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2435|回复: 8

[编程技巧] 含参数矩阵行列式为零时求参数

[复制链接]
发表于 2008-8-6 21:35 | 显示全部楼层 |阅读模式

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

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

x
比如:A为23*23的矩阵,给A主对角线每个元素加上 x^2,然后求det(A)=0时的x值.
         肯定是数值解了。

路过请指教!谢谢!
回复
分享到:

使用道具 举报

发表于 2008-8-7 09:02 | 显示全部楼层
 楼主| 发表于 2008-8-9 21:45 | 显示全部楼层

问题补充

已知:A为169*169阶矩阵,有如下代码:

syms x;
  f=A+x*eye(size(A));
y=det(f);
l=solve(y);


出现运行错误提示:
??? Error using ==> sym/maple
Error, (in index/FillInitVals) integer too large in context
Error in ==> E:\MATLAB6p5\toolbox\symbolic\@sym\mtimes.m
On line 17  ==>    X = maple('scalarmul',B,A);
Error in ==> E:\ruru111\laoshili3.m
On line 37  ==>  f=A+x*eye(size(A));

可能是因为矩阵A的元素太小了,因为det(A)=-6.7364e+204.
但是有什么方法可以求解出参数x值呢.
发表于 2008-8-9 21:55 | 显示全部楼层
syms x;是不是应该改为syms x
 楼主| 发表于 2008-8-10 09:30 | 显示全部楼层
改过了也一样
发表于 2008-8-10 10:34 | 显示全部楼层

回复 5楼 rushuidetian 的帖子

我用小矩阵算过,可行
可能是你矩阵太大了

评分

1

查看全部评分

 楼主| 发表于 2008-8-10 17:20 | 显示全部楼层
那用什么方法可以求解大型矩阵中的参数呢?
 楼主| 发表于 2008-8-10 17:40 | 显示全部楼层
查资料得当矩阵的行列式值很小时矩阵为病态的。
 楼主| 发表于 2008-8-10 17:48 | 显示全部楼层
当矩阵条件数为2.0170e+005,还可以求出逆矩阵,此逆矩阵可否能用呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-10-2 01:37 , Processed in 0.054678 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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