Filter löschen
Filter löschen

MATLAB code to find the maximum of a function over an interval

45 Ansichten (letzte 30 Tage)
Liam Bouchereau
Liam Bouchereau am 27 Okt. 2020
Bearbeitet: Salman Zaheer am 23 Mär. 2023
Could someone please help with writing a code to solve the following?
Write a MATLAB code that will find the maximum of the following function over the interval x1 < x < x2 :
f(x) = cos(4x) sin(10x) e^-2x
Find the value of f(x) which corresponds to the maximum over the given interval and print it out
using: fprintf('%.4f',fmax).
For example:
TestResult
x1 = 0.7;
x2 = 0.9;
Result
-0.0611

Antworten (2)

Rohit Pappu
Rohit Pappu am 29 Okt. 2020
Bearbeitet: Rohit Pappu am 29 Okt. 2020
MATLAB doesn't have any functions which can explicit calculate the local maxima. A possible workaround would be to find the minima of -f(x)in the same interval.
Code for calculating maxima
x1 = 0.7;
x2 = 0.9;
[x_max,val] = fminbnd(@(x) -cos(4*x)*sin(10*x)*exp(-2*x),x1,x2); %%x_max is the maxima of f(x) and val is the value of f(x_max)
val = -val; %% Negate the value because -f(x) was the function worked upon
Additional documentation can be found here

Salman Zaheer
Salman Zaheer am 23 Mär. 2023
Bearbeitet: Salman Zaheer am 23 Mär. 2023
How to get max|| Tx-Sx|| of two functions in interval [-1,1] where Tx= x if x belongs to [-1,0) and Tx= -x if x belongs to [0,1]. Similarly for S any function.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by