How to increase number of contour lines in a plot?
113 次查看(过去 30 天)
显示 更早的评论
Hello, could you help me make this plot have 20 controur lines and show their respective values on the plot
f = @(x1,x2) (x1-5)^2+(x2-4)^2;
fcontour(f,[0 10 0 10])
colorbar
0 个评论
回答(2 个)
Steven Lord
2022-4-14
f = @(x1,x2) (x1-5).^2+(x2-4).^2; % Vectorized the function
h = fcontour(f,[0 10 0 10]); % Let MATLAB choose the number and height of levels
fprintf("There is a contour at level: %g\n", h.LevelList)
figure
h = fcontour(f,[0 10 0 10], 'LevelList', 0:5:50); % I'll choose the levels
fprintf("There is a contour at level: %g\n", h.LevelList)
Bjorn Gustavsson
2022-4-14
If you check the documentation you will find this advice:
fcontour(f,'LevelList',[-1 0 1])
which adapted to your xy-region would be something like:
fcontour(f,[0 10 0 10],'LevelList',[-1 0 1])
HTH
2 个评论
Bjorn Gustavsson
2022-4-14
That is a simple for you to achieve as modifying the levels in the "LevelList". I couldn't be bothered to figure out where to put them since you might want the somewhere else, but for 20 levels between two values you could do something like:
minVal = 0.5; % Still cannot be bothered to find out, so you have do decide.
maxVal = 13; % same as above.
LevelList = linspace(minVal,maxVal,20);
fcontour(f,[0 10 0 10],'LevelList',LevelList)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!