newbt3aaa.m
来自「beamlet变化的工具箱」· M 代码 · 共 55 行
M
55 行
function B=newbt3aaa(X)
n=length(X);
B=zeros(n,n,n,n);
m=n/2;
BigX=zeros(2*n,2*n,n);
BigX(m+1:n+m,m+1:m+n,:)=X;
clear X
s=1/n-1:2/n:1-1/n;
x=0.5:1:n-0.5;
for syi=1:n
for szi=1:n
for k=1:n
y1=s(syi)*(x(k)-m)+m+0.5;
fy1=floor(y1);
alphay=y1-fy1;
PsykAk = BigX(fy1+1:fy1+n,:,k);
if alphay<abs(s(syi)/2)
b=2*alphay/abs(s(syi));
PsykAk=b*PsykAk+(1-b)*BigX(fy1:fy1+n-1,:,k);
elseif alphay>(1-abs(s(syi))/2)
b=2*(1-alphay)/abs(s(syi));
PsykAk=b*PsykAk+(1-b)*BigX(fy1+2:fy1+n+1,:,k);
end
z1=s(szi)*(x(k)-m)+m+0.5;
fz1=floor(z1);
alphaz=z1-fz1;
PsykAkPszk =PsykAk(:,fz1+1:fz1+n);
if alphaz<abs(s(szi)/2)
b=2*alphaz/abs(s(szi));
PsykAkPszk=b*PsykAkPszk+(1-b)*PsykAk(:,fz1:fz1+n-1);
elseif alphaz>(1-abs(s(szi))/2)
b=2*(1-alphaz)/abs(s(szi));
PsykAkPszk=b*PsykAkPszk+(1-b)*PsykAk(:,fz1+2:fz1+n+1);
end
B(:,:,szi,syi)=B(:,:,szi,syi)+PsykAkPszk;
end
end
end
%% Part of BeamLab Version:200% Built:Friday,23-Aug-2002 00:00:00% This is Copyrighted Material% For Copying permissions see COPYING.m% Comments? e-mail beamlab@stat.stanford.edu%%% Part of BeamLab Version:200% Built:Saturday,14-Sep-2002 00:00:00% This is Copyrighted Material% For Copying permissions see COPYING.m% Comments? e-mail beamlab@stat.stanford.edu%
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?