我現在很長時間以來一直困擾着這個問題。我有一個多邊形區域(可以說,一個六邊形)。我可以計算多邊形內任何點的某個函數的值。現在我需要爲這些數據創建一個填充輪廓(使用MATLAB中的contourf)。我如何去做。我發現下面的鏈接,這個話題進行一些討論(第121頁)不規則域的MATLAB contourf圖
http://www-personal.umich.edu/~jpboyd/eng403_chap4_contourplts.pdf
這工作有點確定,但它仍然會產生,我不想鋸齒狀邊緣。任何人有任何關於這個問題的建議?謝謝。這裏是我的代碼
close all
Node = [ 1.0 0
0.5 0.8660
-0.5 0.8660
-1.0 0
-0.5 -0.8660
0.5 -0.8660];
[x,y] = meshgrid(-1:0.1:1,-1:0.1:1);
N = zeros(size(x));
for i=1:size(x,2)
for j=1:size(y,2)
p = [x(i,j) y(i,j)];
IN = inpolygon(p(1),p(2),Node(:,1),Node(:,2));
if IN
N(i,j)= rand;
else
N(i,j)= NaN;
end
end
end
figure
contourf(x,y,N,'LineStyle','none'), hold on;
xlabel('X'), ylabel('Y'), axis equal; axis off; colorbar;
line([Node(:,1);Node(1,1)],[Node(:,2);Node(1,2)],'Color',[1 1 1],'LineWidth',2.0)
clear IN i j p x y
我們可以看到您的代碼和您正在使用的一些數據嗎? – AGS 2012-08-17 00:38:23