⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bktoeplitz.m

📁 通过计算晶体结构来确定其光谱分布
💻 M
字号:
%bktoeplitz.m
function ret=bktoeplitz(bkc,bkr)
%bkc, bkr=first block colume and first block row
cc=size(bkc);
cm=min(cc);
cM=max(cc);
rr=size(bkr);
rm=min(rr);
rM=max(rr);
if rm~=cm|rM~=cM
    ret=-1;
    disp('row and column blocks have different diomensions');
    return;
end
ct=cM/cm;
ct1=rem(cM,cm);
rt=rM/rm;
rt1=rem(rM,rm);
if ct<2|rt<2|ct1~=0|rt1~=0|ct~=rt|rm==1
    ret=-1;
    disp('row and column are valid blocks');
    return;
end

N=cM;
ret=zeros(N);
if cc(1)==cm
    ret(:,1:cm)=bkc.';
else
    ret(:,1:cm)=bkc;
end
if rr(1)==cm
    ret(1:cm,cm+1:N)=bkr(:,cm+1:N);
else
    t=bkr.';
    ret(1:cm,cm+1:N)=t(:,cm+1:N);
    clear t;
end
for l=2:ct
    ret((l-1)*cm+1:l*cm,(l-1)*cm+1:N)=ret(1:cm,1:N-(l-1)*cm);
    for m=1:l-1
        mt=l-1-m;
        ret((l-1)*cm+1:l*cm,mt*cm+1:(mt+1)*cm)=ret(m*cm+1:(m+1)*cm,1:cm);
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -