怎样用Matlab求二元函数极小值?f(x,y)=100(y-x^2)^2+(1-x)^2

如题所述

代码% By lyqmath。

clc; clear all; close all。

% f(x,y)=100(y-x^2)^2+(1-x)^2。

title('By lyqmath', 'FontWeight', 'Bold', 'Color', 'r')结果。

f(x, y) = 100*(y-x^2)^2+(1-x)^2 = 0。

因为平方是非负数,所以得出:

y-x^2 = 0。

1-x = 0。

即:x = 1,y = 1。

所以 ezplot('100*(y-x^2)^2+(1-x)^2') 实际上只画出了一个点。

必须注意

所谓二重极限存在,是指P(x,y)以任何方式趋于P0(x0,y0)时,f(x,y)都无限接近于A,因此,如果P(x,y)以某一特殊方式。

例如沿着一条定直线或定曲线趋于P0(x0,y0)时,即使f(x,y)无限接近于某一确定值,还不能由此断定函数的极限存在.但是反过来,如果当P(x,y)以不同方式趋于P0(x0,y0)时,f(x,y)趋于不同的值,那么就可以断定这函数的极限不存在。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-12
做个测试,希望有所帮助。代码% By lyqmath
clc; clear all; close all;
% f(x,y)=100(y-x^2)^2+(1-x)^2
fun = @(x) 100*(x(2)-x(1)^2)^2+(1-x(1))^2;
[x,fval,exitflag] = fminsearch(fun, [-1.2, 1], ...
optimset('TolX',1e-8))
figure; ezmesh('100*(y-x^2)^2+(1-x)^2'); hold on;
plot3(x(1), x(2), fval, 'ro', 'MarkerFaceColor', 'r');
title('By lyqmath', 'FontWeight', 'Bold', 'Color', 'r')结果本回答被网友采纳
相似回答