The maximum value assumed by the function on the interval

91 visualizzazioni (ultimi 30 giorni)
What is the maximum value assumed by the function f(x) = sin(5*cos(x))*cos(5*sin(x)) on the interval [0,1] ?

Risposte (2)

James Browne
James Browne il 12 Giu 2019
Greetings,
I wrote an example for you which finds the maximum value of f(x) over the specified interval and plots the resuts. Here you go, hope this helps!
%Define the interval over which f(x) will be evaluated
xInterval = [0 1];
%specify resolution of the evaluation
dx = 0.0001;
%Create a vector of x values based on the interval of evaluateion and
%resolution specifications
x = xInterval(1): dx : xInterval(2);
%Calculate f(x) values
for i = 1:length(x)
fx(i) = sin(5*cos(x(i)))*cos(5*sin(x(i)));
end
%Find the magnitude and index of the maximum f(x) value and print the
%maximum magnitude to the command window
[M,idx] = max(fx);
fprintf('The maximum value in the given range of x is: %5.4f\n',M)
%Use the index of the maximum f(x) value to find the x value which produced
%the maximum f(x) value
xForMaxFx = x(idx);
%Determine title based on interval of evaluation parameters
titleName = strcat('Maximum f(x) Value over the interval [',num2str(xInterval(1)),',',num2str(xInterval(2)),']');
%Plot f(x) and highlight the maximum value
plot(x,fx,xForMaxFx,M,'kd')
title(titleName)
xlabel('x (units)')
ylabel('f(x) (units)')
ylim([-1,1])
legend('f(x)','Maximum f(x) value','location','southeast')
  5 Commenti
Walter Roberson
Walter Roberson il 8 Apr 2021
The line that defines the function? You mean
fx(i) = sin(5*cos(x(i)))*cos(5*sin(x(i)));
??
But that line only uses scalar values.
Walter Roberson
Walter Roberson il 8 Apr 2021
Example of the function changed to use ^ without using .^
No failure.
%Define the interval over which f(x) will be evaluated
xInterval = [0 1];
%specify resolution of the evaluation
dx = 0.0001;
%Create a vector of x values based on the interval of evaluateion and
%resolution specifications
x = xInterval(1): dx : xInterval(2);
%Calculate f(x) values
for i = 1:length(x)
fx(i) = sin(5*cos(x(i)))^2*cos(5*sin(x(i)))^3;
end
%Find the magnitude and index of the maximum f(x) value and print the
%maximum magnitude to the command window
[M,idx] = max(fx);
fprintf('The maximum value in the given range of x is: %5.4f\n',M)
The maximum value in the given range of x is: 0.9195
%Use the index of the maximum f(x) value to find the x value which produced
%the maximum f(x) value
xForMaxFx = x(idx);
%Determine title based on interval of evaluation parameters
titleName = strcat('Maximum f(x) Value over the interval [',num2str(xInterval(1)),',',num2str(xInterval(2)),']');
%Plot f(x) and highlight the maximum value
plot(x,fx,xForMaxFx,M,'kd')
title(titleName)
xlabel('x (units)')
ylabel('f(x) (units)')
ylim([-1,1])
legend('f(x)','Maximum f(x) value','location','southeast')

Accedi per commentare.


Walter Roberson
Walter Roberson il 12 Giu 2019
Step 1: Plot the function to see visually the approximate peak. Find an approximate interval for the peak; it does not have to be precise at all.
Step 2: Differentiate the function. Solve for a zero of that over the approximate interval that you identified. That gives the location of the peak.
Step 3: substitute the location of the peak into the formula to get the value of the peak.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by