Number of line for fcontour

3 vues (au cours des 30 derniers jours)
David Togonidze
David Togonidze le 26 Nov 2021
If somebody can tell me how to increase number of lines for fcontour plot I would be much grateful. Thanks in advance.

Réponse acceptée

Star Strider
Star Strider le 27 Nov 2021
A somewhat different approach —
syms x y
z(x,y) = exp(-(x-5)^2) + cos(y)
z(x, y) = 
figure
hfc = fcontour(z, [0 10 -2*pi 2*pi]);
colormap(turbo)
title('Default Levels')
figure
hfc = fcontour(z, [0 10 -2*pi 2*pi]);
Lvls = hfc.LevelList;
hfc.LevelList = linspace(min(Lvls), max(Lvls), 5*numel(Lvls));
colormap(turbo)
title('Increased Countours, Same Range')
.

Plus de réponses (1)

Image Analyst
Image Analyst le 26 Nov 2021
Look at the max and min of your surface, then compute the 'LevelStep' using the number of contours you want. Something like (untested)
numContours = 10;
levelStep = (max(z(:)) - min(z(:))) / numContours;
fcontour(z, 'LevelStep', levelStep);
  1 commentaire
David Togonidze
David Togonidze le 26 Nov 2021
It gives me the error about levelStep not being a double which is logical since I have symbolic expressions in "Z". Shoud have mentioned that in the original question.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by