Number of line for fcontour

3 visualizzazioni (ultimi 30 giorni)
David Togonidze
David Togonidze il 26 Nov 2021
Risposto: Star Strider il 27 Nov 2021
If somebody can tell me how to increase number of lines for fcontour plot I would be much grateful. Thanks in advance.

Risposta accettata

Star Strider
Star Strider il 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')
.

Più risposte (1)

Image Analyst
Image Analyst il 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 Commento
David Togonidze
David Togonidze il 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.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by