用Matlab如何构造Hankel矩阵及Hankel矩阵块

it2026-01-22  3

matlab 代码描述:

Xm=cell(1,2*N+1); %构造汉克矩阵 X=cell(L,2*N-L+2); for k=1:(2*N+1) for i=1:L for j=1:2*N-L+2 X{i,j}=G_final(k,i+j-1); end end Xm{1,k}=X; end Xe_1=cell(K,2*N-K+2); %构造汉克块矩阵 for i=1:K for j=1:2*N-K+2 Xe_1(i,j)=Xm(i+j-1); end end

本方法采用细胞数组 cell 的方式进行构造,但是在应用中要把 cell 打开,所以要采用如下方法,找到规律,打开 cell :

Xe=zeros(K*L,(2*N-K+2)*(2*N-L+2)); for Xe_m=1:K for Xe_n=1:(2*N-K+2) for i=1:L for j=1:(2*N-L+2) Xe((Xe_m-1)*L+i,(Xe_n-1)*(2*N-L+2)+j)=Xe_1{Xe_m,Xe_n}{i,j}; end end end end

主要就是要观察行和列的关系。

最新回复(0)