# How would I plot this and then achieve minimum and maximum.

2 vues (au cours des 30 derniers jours)
Tom le 21 Nov 2023
Commenté : Les Beckham le 24 Nov 2023
This is the equation
My script looks like this and fails
x=0:0.1:15
y=(x)^3/3-11(x)^2/2+24x
plot(x,y)
Not yet got my head around MatlB
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
Dyuman Joshi le 21 Nov 2023
Déplacé(e) : Dyuman Joshi le 21 Nov 2023
Look into
max, min - for global extremum
islocalmax, islocalmin - for local extremum

Connectez-vous pour commenter.

### Réponse acceptée

Les Beckham le 21 Nov 2023
Modifié(e) : Les Beckham le 21 Nov 2023
x = 0:0.1:15;
% y=(x)^3/3-11(x)^2/2+24x << you were missing multiplication operators *
% and the powers need to be .^ (element-wise operator) instead of ^ (matrix
% operator)
y = x.^3 / 3 - 11*x.^2 / 2 + 24*x;
plot(x, y)
grid on
xlabel x
ylabel y
fprintf('min(y) = %f; max(y) = %f\n', min(y), max(y))
min(y) = 0.000000; max(y) = 247.500000
Also, if you are just getting started with Matlab, I would highly recommend that you take a couple of hours to go through the free online tutorial: Matlab Onramp
##### 2 commentairesAfficher AucuneMasquer Aucune
Tom le 24 Nov 2023
Thanks, that OnRamp is really well setup!
Les Beckham le 24 Nov 2023
That's good to hear. I hope it was helpful.

Connectez-vous pour commenter.

### Plus de réponses (1)

Sam Chak le 21 Nov 2023
Hi @Tom
The cubic function does not have global extrema, but it does have a local maximum point and a local minimum point. Are you looking to plot something similar to this?
%% Find local max and local min over a certain range
y = @(x) x.^3/3 - 11*x.^2/2 + 24*x;
xlocal = linspace(1, 10, 90001);
ymax = max(y(xlocal))
ymax = 31.5000
idx1 = find(y(xlocal) == ymax);
xmax = xlocal(idx1)
xmax = 3
ymin = min(y(xlocal))
ymin = 10.6667
idx2 = find(y(xlocal) == ymin);
xmin = xlocal(idx2)
xmin = 8
%% Plot function over a predefined range
x = 0:0.1:15;
plot(x, y(x)), grid on, hold on
plot(xmax, ymax, 'o', 'markersize', 12, 'linewidth', 2)
plot(xmin, ymin, 'o', 'markersize', 12, 'linewidth', 2)
xlabel('x'), ylabel('y')
xt = [xmax-1 xmin-1];
yt = [ymax+15 ymin+15];
str = {'local max','local min'};
text(xt, yt, str)
##### 2 commentairesAfficher AucuneMasquer Aucune
Dyuman Joshi le 21 Nov 2023
I'm a curious as to why you chose to use max() and min() instead of islocalmax() and islocalmin().
Sam Chak le 22 Nov 2023
Sometimes, I'm accustomed to using functions with the same name in other software. It's good that you introduced islocalmax() and islocalmin().

Connectez-vous pour commenter.

### Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by