Finding the maxima/minima of a function.
47 views (last 30 days)
Show older comments
My lab TA assigned a small project to find and plot the absolute value of the maxima and minima of a given function. I made a quick and dirty algorithm to do so, but I'm having two issues with it and I simply cannot figure out what is wrong with my code.
1.) For some reason, it isn't grabbing the actual highest value, but rather one close to it.
2.) The max/min plot dips down to nearly zero and then climbs up steadily with the Absolute valued function.
I know there are other ways of doing it, including using the derivative of the function, but I would much rather assistance in finding out what is incorrect in my algorithm, which tests surrounding points in order to find maxima and minima.
Here is the code:
________________
%This program plots the abs val of the maxima and minima of a function.
%This max/min value will then continue to be plotted until a new maxima or
%minima is found.
clear,clc;
t=[0:0.1:20];
y=exp(-t).*sin(pi./2.*t); %Our Function
yAbs=abs(y); %Take the absolute value of the function.
yMaxMin=zeros(201); %Create an array of zeros to be filled w/ data.
for(i=2:200)
%If a point is a maxima in yAbs, it will be a maxima or a minima in y.
if(yAbs(i-1)<yAbs(i)&&yAbs(i+1)>yAbs(i))
plotPoint=yAbs(i); %If the value is a max, store it in plotPoint.
end
yMaxMin(i)=plotPoint; %Store the value of plotPoint into yMaxMin(i)
end
plot(t,yAbs);
hold on
plot(t,yMaxMin);
2 Comments
Muhammad Sheraz Ali
on 15 Mar 2022
Question: "How do we find the maxima and minima of a continuous function ff on a closed and bounded interval [a,b]?[a,b]?" • Find the derivative 𝑓′(𝑥) of �
• Find all critical values of 𝑓, let's say 𝑐1, 𝑐2, …, 𝑐𝑘. • Compute 𝑓(𝑎) and 𝑓(𝑏), together with 𝑓(𝑐1),𝑓(𝑐2),…,𝑓(𝑐𝑘). • Compare (order) the values in step 3. • Then the minimum value is global minima of the values in step 4 and the maximum is the global maxima.
Accepted Answer
More Answers (4)
Abhay Chaudhary
on 11 Aug 2019
%This program plots the abs val of the maxima and minima of a function.
%This max/min value will then continue to be plotted until a new maxima or
%minima is found.
clear,clc;
t=[0:0.1:20];
y=exp(-t).*sin(pi./2.*t); %Our Function
yAbs=abs(y); %Take the absolute value of the function.
yMaxMin=zeros(201); %Create an array of zeros to be filled w/ data.
for(i=2:200)
%If a point is a maxima in yAbs, it will be a maxima or a minima in y.
if(yAbs(i-1)<yAbs(i)&&yAbs(i+1)>yAbs(i))
plotPoint=yAbs(i); %If the value is a max, store it in plotPoint.
end
yMaxMin(i)=plotPoint; %Store the value of plotPoint into yMaxMin(i)
end
plot(t,yAbs);
hold on
plot(t,yMaxMin);
Ruthika j
on 9 Oct 2021
find the critical points maxima and maxima of the function f(x) = 2x^3-9x^2+12x-3
0 Comments
See Also
Categories
Find more on Feature Detection and Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!