MATLAB в инженерных и научных расчетах


Продолжение таблицы 2.3 - часть 10


[x, min f] = f min search ( … ),

где х – вектор координат локального минимума;

min f – значение целевой функции в точке минимума.

Саму целевую функцию удобно представить с помощью дескриптора @ в      М-файле.

 

Пример 9. Найти и вывести на печать координаты и значение минимума функции двух переменных f(x, y) = (x2 + y2 – 3)2 + (x2 + y2 – 2x – 3)2 + 1, если начальная точка поиска имеет координаты М0 (1; 1). Анализ функции показывает, что min f = 1 x = 0,

.

Строим трехмерный график этой функции, чтобы убедиться в наличии минимума. Возьмем интервал х є [-1; 1]; y є [1; 3].

 

Протокол программы

>> [X,Y] = mesh grid ( [-1 : 1, 1 : 3] ) ;

>> Z = (X.^2 + Y.^2 – 3).^2 + (X.^2 + Y.^2 – 2*X – 3).^2 + 1 ;

>> рlot 3 (X,Y,Z)

После построения трехмерного графика выполняем поиск минимума. В М-файле программируем целевую функцию

function f = F xy(x)

f = (x(1) ^ 2 + x(2) ^ 2 –3)^2 – 3)^2 + (x(1) ^ 2 + x(2) ^ 2 –2* x(1) – 3)^2 + 1;

Решаем поставленную задачу в окне команд

>> [xmin, mi f] = fminsearch ( @ Fxy, [1; 1] )

Результаты поиска

xmin =

              - 0.0000     1.7320

 minf =

              1.0000

Как видно, результаты решения задачи точные.

Варианты заданий. Найти и вывести на печать координаты и минимальное значение функции двух переменных. Поиск начать с точки М0 (х0, у0). Данные взять из таблицы 2.9.

Таблица 2.9

№ п/п

Функция f(x, у)

Координаты начальной точки М0 (х0, у0).

1

2

3

1

(1; 1)

2

(2; 2)

3

(2; 2)

4

(2; 2)

5

(2; 2)

6

(2; 2)

7

(2; 2)

8

(2; 2)

9

(2; 2)

Продолжение таблицы 2.9

1

2

3

10

(2; 2)

11

(0.5; 0.5)

12

(0.5; 3.5)

13

(0; 0)

14

(0.1; -1.0)

15

(4; 1)

16

(0.5; 2.5)

17

(1.5; 0.5)

18

(0.5; 0.5)

19

(0.3; 0.3)

20

(0.25; 0.25)

21

(0.5; 1.5)

22

(0.5; 0.5)

23

(-1.5; 0.5)

24

(1.0; 1.0)

25

(2.0; 1.5)

26

(0.2; 0.3)

27

(p/4; p/4)

28

(p/4; p/4)

29

(2.5; 2.5)

30

(1.0; -1.0)

<


Начало  Назад  Вперед



Книжный магазин