Effacer les filtres
Effacer les filtres

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

45 vues (au cours des 30 derniers jours)
Liam Bouchereau
Liam Bouchereau le 27 Oct 2020
Modifié(e) : Salman Zaheer le 23 Mar 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

Réponses (2)

Rohit Pappu
Rohit Pappu le 29 Oct 2020
Modifié(e) : Rohit Pappu le 29 Oct 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 le 23 Mar 2023
Modifié(e) : Salman Zaheer le 23 Mar 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.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by