I can't sketch this function

As the title, my function can't be sketched and i don't know which code replace surf() to get it works.
the function: f = x^2+y^2+x*y-12*log(x)-10*log(y)
clc; % Clear the command window.
fprintf('Beginning to run %s.m ...\n', mfilename);
close all; % Close all figures (except those of imtool.)
clearvars;
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 16;
xMin = -20;
xMax = 20;
yMin = -10;
yMax = 10;
numPoints = 1000;
[x, y] = meshgrid(linspace(xMin, xMax, numPoints), linspace(xMin, xMax, numPoints));
f = x .^ 2 + x .* y + y .^ 2 - 12*log(x) - 10*log(y);
surf(x, y, f, 'EdgeColor', 'none');
grid on;
title('f(x, y) = x .^ 2 + x .* y + y .^ 2', 'FontSize', fontSize, 'Interpreter', 'none');
xlabel('x', 'FontSize', fontSize);
ylabel('y', 'FontSize', fontSize);
zlabel('f(x, y)', 'FontSize', fontSize);
fprintf('Done running %s.m\n', mfilename);

2 Kommentare

Torsten
Torsten am 15 Mai 2022
Do you know what happens if you take the log of a negative number ?
Le Truong
Le Truong am 16 Mai 2022
Oh thanks, i will fix my code right away.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Ishan Gupta
Ishan Gupta am 27 Jul. 2022

0 Stimmen

You should first check and remove negative values from the input to log

Tags

Gefragt:

am 15 Mai 2022

Beantwortet:

am 27 Jul. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by