How would I plot this and then achieve minimum and maximum.
조회 수: 4 (최근 30일)
이전 댓글 표시
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
채택된 답변
Les Beckham
2023년 11월 21일
편집: Les Beckham
2023년 11월 21일
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))
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
추가 답변 (1개)
Sam Chak
2023년 11월 21일
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))
idx1 = find(y(xlocal) == ymax);
xmax = xlocal(idx1)
ymin = min(y(xlocal))
idx2 = find(y(xlocal) == ymin);
xmin = xlocal(idx2)
%% 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
Dyuman Joshi
2023년 11월 21일
I'm a curious as to why you chose to use max() and min() instead of islocalmax() and islocalmin().
Sam Chak
2023년 11월 22일
Sometimes, I'm accustomed to using functions with the same name in other software. It's good that you introduced islocalmax() and islocalmin().
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!