Calculate absolute maxima and minima of a two variable function

18 views (last 30 days)
I have a function
% f(x,y) = x^4 + y^4 - x^2 - y^2 + 1
but i am not able to understand how to start solving this. Can someone help me with the code?

Accepted Answer

Image Analyst
Image Analyst on 17 Dec 2020
OK, here is the function, but exactly what does "solve" mean to you???
xMin = -2;
xMax = 2;
yMin = -2;
yMax = 2;
numPoints = 200;
xv = linspace(xMin, xMax, numPoints);
yv = linspace(yMin, yMax, numPoints);
[x, y] = meshgrid(xv, yv);
% f(x,y) = x^4 + y^4 - x^2 - y^2 + 1
fprintf('Creating function.\n');
f = x.^4 + y.^4 - x.^2 - y.^2 + 1;
fprintf('Creating surface plot.\n');
surf(x, y, f, 'LineStyle', 'none');
xlabel('x', 'FontSize', 20);
ylabel('y', 'FontSize', 20);
zlabel('f', 'FontSize', 20);
title('f(x,y) = x^4 + y^4 - x^2 - y^2 + 1', 'FontSize', 20);
colorbar;
Do you want to use contour() or contour3() to find out where it equals some value?
  3 Comments
Image Analyst
Image Analyst on 18 Dec 2020
maxValue = max(abs(f(:)))
minValue = min(abs(f(:)))
fprintf('The max of f = %f.\nThe min of f = %f.\n', maxValue, minValue);
If this does what you wanted, then please "Accept this answer".
Image Analyst
Image Analyst on 18 Dec 2020
Edited: Image Analyst on 18 Dec 2020
Note: that max is for the plotted region. If you plotted more, the max would be higher. For x and y of infinity, the max is infinity.
The min though is always at (x,y) = (0,0) and is 1.

Sign in to comment.

More Answers (1)

Billuri
Billuri on 9 Dec 2022
f1 = x^2 + y^2
  1 Comment
Image Analyst
Image Analyst on 9 Dec 2022
Edited: Image Analyst on 9 Dec 2022
Can you please elaborate on how this solves his question on the 4th order polynomial? He says "solve means to display the values of absolute maxima and minima".

Sign in to comment.

Categories

Find more on Discrete Data Plots in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!