在科学计算、工程应用等领域中我们经常遇到要求极值点的问题,下面我们就以Rosenbrock's "Banana"测试函数为例,用matlab求取该函数的极小值。

1.Rosenbrock函数简介

Rosenbrock函数是数学优化中的常用函数,他可以用来测试优化算法的性能。又叫“Rosenbrock山谷”、“Rosenbrock香蕉函数”、“香蕉函数”。它的定义式如下图所示:

blob.png

2.匿名函数表示该函数,matlab的匿名函数代码为:ff=@(x)(100*(x(2)-x(1).^2)^2+(1-x(1))^2;

3.单纯形法求极值

blob.png

4.检查目标函数

blob.png

5.rosenbrock函数三维图形,如下图所示是画图代码:

blob.png

6.下面是画出的rosenbrock函数三维图形

blob.png