banana.m

来自「如果你看过神经模糊与软运算这本书,相信你一定想得到它的源代码.」· M 代码 · 共 21 行

M
21
字号
function out = banana(x, y, mode)
%BANANA Rosenbrock's banana function. 
%	The minimum point is [1.1], at which f(x,y)=0.

if nargin <= 2, mode = 0; end

if mode == 0,		% return function value
	out= 100.*(y-x.^2).^2+(1-x).^2;
elseif mode == 1,	% return gradient
	fx = -400.*(y-x.^2).*x-2+2.*x;
	fy = 200.*y-200.*x.^2; 
	out = [fx; fy];
elseif mode == 2,	% return Hessian
	fxx=1200.*x.^2-400.*y+2;
	fxy=-400.*x;
	fyy=200;
	out = [fxx fxy; fxy fyy];
else
	error('Wrong mode value!');
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?