Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 08.05.2015
Сообщений: 6
1

Минимизация функции методом покоординатного спуска

31.05.2016, 16:18. Показов 2818. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех, кто зашел в эту тему.
Друзья, прошу помочь разобраться с реализацией метода покоординатного спуска в Matlab, указанной ниже:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 %Напишем программу минимизации функции методом покоординатного спуска: 
 aaa=13; bbb=-0.2; ccc=1.44; ddd=0.23; 
 x1=0;  x2=-6;  e=0.0001;  k=2;  
h=0.2;  e1=e/k;  l=0;  d=e+1;  
while(d>e)      
     d=abs(h); 
     h1=h;
     z=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
     z1=z+1; 
     d1=abs(h1); 
     while (d1>e)
          d1=abs(h1);
          x1=x1+h1; 
          z1=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
          if (z1>=z) h1=-h1/k; end
          z=z1;
      end
      h1=h;
      z=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
      d1=e1+1;
      z1=z+1;
      d1=abs(h1);
      while (d1>e)
          d1=abs(h1);
          x2=x2+h1;
          z1=aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2);
          if (z1>=z)  h1=-h1/k; end
          z=z1;
      end
      h=h/k;
      l=l+1;
  end
  x1
  x2
  aaa*x1+bbb*x2+exp(ccc*x1^2+ddd*x2^2)
  e
Мне ясно, как реализовать данную задачу с использованием частных производных, но эта реализация вызвала ряд затруднений. В общем смысле я не совсем даже понимаю, как именно здесь происходит минимизация и что это за такая таинственная e1, равная погрешности, деленной на такое же таинственное k(наверное, это число переменных). Да и с z1=z+1 не совсем понятно, ну почему именно +1?
В общем подняла всю литературу, которую могла. Своими силами разобраться не получается. Одна надежда на вас.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2016, 16:18
Ответы с готовыми решениями:

Минимизация функции методом градиентного спуска с дроблением шага. Ошибка!
Уважаемые товарищи! Не могу справиться с задачей( Минимизация функции методом градиентного спуска с...

Оптимизации методом покоординатного спуска
Есть код: clear all; clc; g = 0.05; % постоянная шага d = 0.01; % дельта % Начальная точка x1...

Оптимизация методом покоординатного спуска
код программы есть. осталось найти минимизируемую функцию. Бункер для хранения зерна, для его...

Оптимизация методом покоординатного спуска
clear all; clc; format long; g = 0.5; % постоянная шага d = 0.01; % дельта % Начальная точка...

3
Модератор
Эксперт по математике/физике
5240 / 4027 / 1385
Регистрация: 30.07.2012
Сообщений: 12,288
31.05.2016, 16:46 2
Kiberlady, загляните в самый низ этой страницы в раздел "Похожие темы". Можете найти для себя много полезного...
0
0 / 0 / 1
Регистрация: 08.05.2015
Сообщений: 6
31.05.2016, 17:12  [ТС] 3
VSI, я, конечно, заглядывала в темы с таким описанием) Просто там везде реализован код с использованием производных. У меня интерес именно с этим разобраться. Дело в том, что я нашла немного о том, как искать минимум без использования частных производных, но там мало понятного)Вот здесь http://www.bestreferat.ru/referat-46611.html описан этот метод, блок-схема алгоритма, указанная там чем-то похожа на то, как реализован интересующий меня код. Но разобраться все же у меня не получается.
Миниатюры
Минимизация функции методом покоординатного спуска  
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
01.06.2016, 08:00 4
Цитата Сообщение от Kiberlady Посмотреть сообщение
У меня интерес именно с этим разобраться.
А чем классические учебники не нравятся? Вопрос, видимо, по алгоритму, чем по его реализации в матлаб.
0
01.06.2016, 08:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2016, 08:00
Помогаю со студенческими работами здесь

Оптимизация методом покоординатного спуска (Гаусса-Зейделя)
Есть рабочий вариант: clear all; clc; % Значения коэффициентов c1 = -2; c2 = -1; c12 = 1; ...

Метод покоординатного спуска
Друзья, имеется матлабовский файл, в котором реализован прогноз на базе нечетких лингвистических...

Метод покоординатного спуска
Помогите кто-нибудь реализовать метод покоординатного спуска на MATLAB вот некоторые материалы...

Минимизация унимодальной функции методом дихотомии
Пожалуйста, помогите выполнить задание!!! 1) Задать аналитически функцию J(U) унимодальную на...

Метод покоординатного спуска
Всем доброго времени суток. Помогите пожалуйста реализовать метод покоординатного спуска. нам дали...

Найти минимум функции методом наискорейшего спуска
Уважаемые корифеи Mathcad помогите решить простую для Вас задачу: найти минимум функции методом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru