How does the matlab contourf function work?
4 次查看(过去 30 天)
显示 更早的评论
How does the matlab contourf function work? The function describes, "MATLAB® automatically selects the contour lines to display." -- but how does Matlab automatically select the lines? (Histogram? some other statistic?)
2 个评论
Ameer Hamza
2020-3-17
The documentation does not specify how MATLAB calculates the contour lines internally. Also, you cannot see the internal implementation of the function, which draws the contour. However, you can specify the levels input of the contour function to set the value of contour lines manually.
回答(1 个)
darova
2020-3-17
I pretty sure that MATLAB checks each 'plane' (that close to some level) on intersection
Simply reducing the task to plane-plane intersection
clc,clear
cla
[X,Y] = meshgrid(-2:0.1:2);
Z = X.^2+Y.^2-3;
p = surf2patch(X,Y,Z);
surf(X,Y,Z,'edgeColor','none')
alpha(0.5)
f = p.faces;
v = p.vertices;
axis vis3d
for i = 1:size(f,1)
ix = f(i,:);
sgn = sign(v(ix,3));
if abs(sum(sgn)) < 4 % if 'z' values have different sign
patch('faces',ix,...
'vertices',v,...
'faceColor','none')
pause(0.1)
end
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Purple 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!