参考代码:
x=-15:.1:15;
y=exp(-x.^2/5^2).*abs(cos(0.5*x));
n = floor(length(y)/sqrt(2));
I = zeros(n);
for i=1:n
for j=1:n
% 此处((i-n/2>=0)*2-1)未用符号函数sign是为了避免0
r = sqrt((j-n/2)^2+(i-n/2)^2) * ((i-n/2>=0)*2-1);
I(i,j) = interp1(linspace(-n/2,n/2,length(x)),y,r,'l','extrap');
end
end
pcolor(x,x,I)
shading interp
colormap gray
axis off
前面两行的x和y是我自己构造的测试数据,题主请用自己的数据代替。
个人对实现的手段并不满意,只能是勉强使用。