欢迎光临散文网 会员登陆 & 注册

期待大家都来扩展北太天元的功能,举例北太天元实现构造汉克尔矩阵(hankel m

2023-05-26 08:52 作者:卢朓  | 我要投稿

% 构造汉克尔矩阵(hankel matrix)

% 汉克尔矩阵 (Hankel Matrix) 是指每一条副对角线上的元素都相等的矩阵,

% 在数字信号处理、数值计算、系统控制等领域均有广泛的应用

% 例如

% h = [ 1 2 3 ;

%       2 3 4 ;

%       3 4 5 ];

% 使用方法:

% hankel(c)

% hankel(c,r)

% H = hankel(c) 返回其第一列是 c 并且其第一个反对角线下方的元素为零的 Hankel 方阵。

% H = hankel(c,r) 返回其第一列是 c 并且其最后一行是 r 的 Hankel 矩阵。如果 c 的最后一个元素与 r 的第一个元素不同,则 c 的最后一个元素优先。

% 例如:

% C = [1;2;3]; % 第一列

% R = [ 3, 4, 5 6]; %最后一行

% h = hankel(C,R)

% 输出

% h = [ 1  2  3  4

%       2  3  4  5

%       3  4  5  6 ]

function 返回值 = hankel (c, r)


 if (nargin < 1)

     help hankel

      return;   

 end


 if (nargin == 1)

   if (~isvector (c))

     error ("hankel: C 必须是一个向量");

   end

   nr = length (c);

   nc = nr;

   data = [c(:) ; zeros(nr, 1)];

 else

   if (~(isvector (c) && isvector (r)))

     error ("hankel: C 和 R 都必须是向量");

   elseif (r(1) != c(end))

     warning ("hankel: C的最后一个元素和R的第一个元素不同,优先使用C的最后一个元素");

   end


   nr = length (c);

   nc = length (r);

      r2 = r(2:end);

   data = [c(:) ; r2(:)]


 end

   返回值 = zeros(nr,nc);

   for i=1:nc

      返回值(:,i) = data(i : i+nr-1)

   end

end



期待大家都来扩展北太天元的功能,举例北太天元实现构造汉克尔矩阵(hankel m的评论 (共 条)

分享到微博请遵守国家法律