找回密码
 注册
Simdroid-非首页
查看: 139|回复: 4

对不可逆矩阵怎样求伴随阵/伴随矩阵?

[复制链接]
发表于 2011-3-30 14:04:41 | 显示全部楼层 |阅读模式 来自 湖北武汉
本帖最后由 messenger 于 2011-3-30 16:07 编辑

小弟刚开始学习matlab,现在要求一矩阵的伴随矩阵,可是这个矩阵不可逆,请问怎样在matlab中求该矩阵的伴随阵
发表于 2011-3-30 14:15:28 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
本帖最后由 mhkmars 于 2011-3-30 14:17 编辑

1# jifeilong
矩阵虽不可逆,但是还是有伴随矩阵的。
将原来的方阵的每一个元素所在的行与列去掉,得到的代数余子式的值,组成一个新方阵并且转置以后就是伴随矩阵。要求逆的话要再除以det(A)。
所以每个方阵都有伴随矩阵,但是不一定有逆。

如果想在matlab里面求伴随矩阵的话,如果可逆的话当然很好办了。如果不可逆,你就按照定义编程实现吧

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-3-30 16:03:36 | 显示全部楼层 来自 黑龙江哈尔滨
MATLAB自带的生成伴随矩阵的函数是compan(p),不过p只能是向量,一个多项式的系数向量,高次幂系数排在前,低次幂排在后。例如,为了求多项式的x3-7x+6的伴随矩阵,可使用命令:
如:
>> p=[1,0,-7,6];
>> compan(p)

也可以试试fileexchange中的两个程序:
Adjugate (adjoint) of a Square Matrix
adj.m
function B = adj(A)
%求伴随矩阵
%ADJ Matrix adjoint.
% ADJ(A) is the adjoint matrix of square matrix A.
% It is computed using the Cayley-Hamilton Theorem.
% The inverse of A is: INV(A) = ADJ(A)/det(A).
%
% Matrices that are not invertable still have an adjoint.

%written by Paul Godfrey, April, 1998
%pjg@mlb.semi.harris.com

ce = poly(eig(A));
cesize = max(size(ce));
p = [0 ce(1:(cesize-1))];
s = (-1)^(max(size(A))+1);
B = s*polyvalm(p,A);
回复 不支持

使用道具 举报

 楼主| 发表于 2011-3-31 20:11:49 | 显示全部楼层 来自 湖北武汉
刚开始学,有点看不懂啊
回复 不支持

使用道具 举报

发表于 2011-3-31 20:41:34 | 显示全部楼层 来自 陕西西安
4# jifeilong
好好看看线性代数你就懂了
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 23:29 , Processed in 0.031498 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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