50628

Метод покоординатного спуска

Лабораторная работа

Математика и математический анализ

Напишем программу минимизации функции методом покоординатного спуска: Минимизируем исходную функцию стандартными средствами MatLab

Русский

2014-01-27

56.5 KB

77 чел.

Лабораторные работы

№8

Тема

Метод покоординатного спуска

Ф.И.О.

Пастухова Светлана Владимировна

Группа

403

Вариант

15

Минимизировать функцию f(x,y)=ax + by + exp(cx2 + dy2 )

 N

a

b

c

d

9

22

-0.2

1.44

0.23

Порядок выполнения работы:

  1.  Построим график функции:

ezsurf('13*x-0.2*y+exp(1.44*x^2+0.23*y^2)')

  1.  Минимизируем исходную функцию стандартными средствами MatLab:

x = [0,-6];

min = fminsearch(@my_fun,x)

где x=[0,-6] – начальное приближение, а @my_fun:

function f = my_fun(x)

f =13*x(1)-0.2*x(2)+exp(1.44*x(1)^2+0.23*x(2)^2); 

Получим:

min =[-1.0167, 0.0974]

f(xmin)=  -8.7965

  1.  Напишем программу минимизации функции методом покоординатного спуска:
  2.  %Минимизируем исходную функцию стандартными средствами MatLab:
  3.  x = [0,-6];
  4.  min = fminsearch(@my_fun,x)
  5.  %где
  6.  x=[0,-6] %– начальное приближение, а @my_fun:
  7.  function f = my_fun(x)
  8.  f =13*x(1)-0.2*x(2)+exp(1.44*x(1)^2+0.23*x(2)^2);
  9.  %Получим:
  10.  min =[-1.0167, 0.0974]
  11.  f(xmin)=  -8.7965
  12.  %Напишем программу минимизации функции методом покоординатного спуска:
  13.  aaa=13; bbb=-0.2; ccc=1.44; ddd=0.23;
  14.  x1=0;
  15.  x2=-6;
  16.  e=0.0001;
  17.  k=2;
  18.  h=0.2;
  19.  e1=e/k;
  20.  l=0;
  21.  d=e+1;
  22.  while(d>e)
  23.      d=abs(h);
  24.      h1=h;
  25.      z=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
  26.      z1=z+1;
  27.      d1=abs(h1);
  28.      while (d1>e)
  29.          d1=abs(h1);
  30.          x1=x1+h1;
  31.          z1=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
  32.          if (z1>=z) h1=-h1/k; end
  33.          z=z1;
  34.      end
  35.      h1=h;
  36.      z=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
  37.      d1=e1+1;
  38.      z1=z+1;
  39.      d1=abs(h1);
  40.      while (d1>e)
  41.          d1=abs(h1);
  42.          x2=x2+h1;
  43.          z1=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
  44.          if (z1>=z)  h1=-h1/k; end
  45.          z=z1;
  46.      end
  47.      h=h/k;
  48.      l=l+1;
  49.  end
  50.  x1
  51.  x2
  52.  aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2)
  53.  e
  54.  %В результате получим:
  55.  min =[ -1.0165, 0.0981]
  56.  fmin = -8.7965
  57.  n=12
  58.   
  59.  

В результате получим:

min =[ -1.0165, 0.0981]

fmin = -8.7965

n=12


 

А также другие работы, которые могут Вас заинтересовать

59308. Провідник (Windows Explorer) 61 KB
  Копіювання та переміщення файлів з використанням буфера обміну Знайдіть в папці €œМої документи файли Urok1.doc Urok2.doc Urok3. Тепер з папки €œМої документи перемістіть файл Urok4.
59309. Основні норми української літературної вимови 43 KB
  Виробляти й удосконалювати навики правильної вимови голосних і приголосних звуків та передачі їх на письмі. Ось про те чому замість звукаякий ми чуємо пишемо букву що позначає інший звук чому ь мякий знак а в інших ні; про основні правила вимови й написання букв і йтиметься на сьогоднішньому уроці.
59310. Інтонація та розділові знаки між простими реченнями в складносурядному 38.5 KB
  Які речення називається складносурядним 2. Які смислові звязки існують між простими реченнями у складносурядному 3. ЗАВДАННЯ: записити й виразно з інтонацією прочитати речення.
59311. ЕНЕРГІЯ ЗМІН: МОЛОДЬ ВИБИРАЄ ЗДОРОВЯ 59 KB
  Допомогти учням зрозуміти значення всіх складових і факторів здоровя. Вчити усвідомлювати основну мету здорової людини повноцінне життя як громадянина; можливість кожної особи реалізувати свій творчий і фізичний потенціал успадкований від батьків...
59312. Святий Миколай-найяскравіший приклад добродійництва і милосердя 40.5 KB
  Трошки допоможи мамі бо святий Миколай все бачить і чує. Гануся: Мамо мамо а хто такий святий Миколай Мама: Ой діти то довга історія а я немаю часу розповідати. Жив в однім краю служив Господу Богу і людям єпископ Миколай.
59314. Кайдашева сімя – зразок реалістичної соціально-побутової повісті 45 KB
  Кайдашева сімя зразок реалістичної соціальнопобутової повісті. Нечуя-Левицького Кайдашева сімя€. ВИХОВНА: виховувати повагу до старшого покоління показати огидність сімейних конфліктів. Історія написання повісті €œКайдашева сімя€.
59315. Дозвольте колядувати – дім звеселяти 56 KB
  Хід заняття: діти заходять до залу Вихователь: Діти нещодавно ми святкували Різдвяні свята. Діти а що це за свято Різдво Що це за день Діти Це день коли народився Ісус Христос. діти беруться за руки попарно Всі Мирмиром пироги з сиром варенички в маслі Ми дружечки красні.
59316. Веселі старти 26.5 KB
  Естафета 1: Передай швидше мяч†Естафета заключається в тому яка команда швидше передасть мяч. Виграла та команда в якої командир найшвидше від всіх інших стане на своє попереднє місце. по команді марш†вся команда взявшись за руки біжить поміж прапорцями так щоб вони не впали. Команда біжить в кінець залу і вертається так само.