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