0
厚度函数我有定义为 实现指定MATLAB
厚度函数是一个函数,当h(x)= 1
两个表面之间的距离是 在可接受的范围内[d+f D-f]
,否则h(x)= 0
; D,d和f是常量。 x
是phi
矩阵中的一个值。而作为
鉴于d,D,f and phi
其他功能,c定义。如何通过matlab计算h(phi)和c(phi)?我想展示我的实施。你能看到并给我一些评论吗?由于
function h=compute_h(phi)
d=1;D=5;f=1;
h=zeros(size(phi));
idx1=find(phi<=d&phi>D);
idx2=find(phi>(d+f)&phi<(D-f));
idx3=find(phi>d&phi<=(d+f));
idx4=find(phi>(D-f)&phi<=D);
h(idx1)=0;
h(idx2)=1;
h(idx3)=1-((phi(idx3)-d-f)./f).^2;
h(idx4)=1-((phi(idx4)-D+f)./f).^2;
end
%% Defined phi
[Height Wide] = size(Img);% Assume size Img is 11 by 11
[xx yy] = meshgrid(1:Wide,1:Height);
phi = (sqrt(((xx - 3).^2 + (yy - 3).^2)) - 3);
c=(1-compute_h(abs(phi)).*sign(phi).*sign(abs(phi)-D+f)
我创建了一个MATLAB聊天室为我们讨论事情MATLAB相关,或讨论跨越超出了单个评论的局限性。有空的时候请访问我们! - http://chat.stackoverflow.com/rooms/81987/matlab – rayryeng