中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

工控软件

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 工控软件 → 浏览主题: MATLAB-现代控制理论-法捷耶娃法
发表新帖 回复该主题
回帖:0个,阅读:1116 [上一页] [1] [下一页]
* 帖子主题:

MATLAB-现代控制理论-法捷耶娃法

分享到
828
psychekklll
文章数:1
年度积分:50
历史总积分:828
注册时间:2009/3/12
发站内信
发表于:2009/4/10 16:11:32
#0楼
在网上找到了一个单似乎不是很好用,所以就改良了一下,法捷耶娃法求矩阵(sI-A)的逆
function [a,ainv,c,b,n]=fadlev1(a)
%
% fadlev  faddeev-leverrier approach to generate coefficients of the
% characteristic polynomial and inverse of a given matrix
% uasage:        [p,ainv,b]=fedlev(a)
%
% input:     a - the given matrix
% output:    a - the coefficient vector of the characteristic polynomial
%            c - a cell array of the sequency of matrices generated, where
%               c{1} = a                    p(1)=trace(c{1})
%               c{2} = a*(c{1}-p(1)*i)      p(2)=trace(c{2})/2
%               .....
%               c{n} = a*(c{n-1}-p(n-1)*i)  p(n)=trace(c{n})/n
%            b-法捷耶娃法中的伴随矩阵算子
%            n-所求伴随矩阵
%           ainv - the inverse of a calculated as
%               ainv = (c{n-1}-p(n-1)*i)/p(n)
%
%
%
[n,m]=size(a);
if n~=m
   error(the given matrix is not square!);
end
[c{1:n}]=deal(a);
a=ones(1,n+1);
b{1}=eye(n);
for k=2:n
   a(k)=-trace(c{k-1})/(k-1);
   c{k}=a*(c{k-1}+a(k)*eye(n));
   b{k}=c{k}*inv(a);
end
a(n+1)=-trace(c{n})/n;
ainv=-(c{n-1}+a(n)*eye(n))/a(n+1);
syms s
n=0
for i=1:n
n=n+b{i}*s^(n-i)
end
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=83974&Name=psychekklll



[此贴子已经被作者于2009-4-10 16:19:29编辑过]
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003