Xreferat.com » Рефераты по информатике и программированию » Программная модель поиска глобального минимума нелинейных "овражных" функций двух переменных

Программная модель поиска глобального минимума нелинейных "овражных" функций двух переменных

С99-122

8. Ларичев О.И., Горвиц Г.Г. «Методы поиска локальных экстремумов овражных функций» М.: Наука, 2003. С.5-12

Приложение


Код модуля

Option Explicit

Dim i, s, j, h1, h2

Sub Кнопка2_Щелкнуть()

Form1.Show 'Ввод исходных данных

End Sub

Sub Кнопка3_Щелкнуть()

j = 1

i = 2 'Номер шага(этапа)

Do 'Цикл нахождения минимума функции

h1 = Range("aa3") 'Присвоение переменным

h2 = Range("aa4") 'h1,h2 значения шага

Do

Range("z1").Select 'Сохранение предыдущего

s = ActiveCell 'значения функции

'Вычисление новых начальных точек

Range("v1").Select

ActiveCell = Range("x1")

Range("v2").Select

ActiveCell = Range("x2")

Range("x1").Select

ActiveCell = ActiveCell - h1

Range("x2").Select

ActiveCell = ActiveCell - h2

'Вывод в таблицу новых начальных

'точек и значение функции в этих точках

Range("a3", "f23").Select

ActiveCell(j, "a") = Range("x1")

ActiveCell(j, "b") = Range("x2")

ActiveCell(j, "f") = Range("z1")

j = j + 1

'Cравнение нового значения функции с предыдущим

Loop While Range("z1") < s

j = j - 1

Range("x1").Select

ActiveCell = Range("v1")

Range("x2").Select

ActiveCell = Range("v2")

'Вывод в таблицу новых начальных точек,

'градиент поля функции, модуль градиента

'и значение функции в новых начальных точках

Range("a3", "g23").Select

ActiveCell(j, "a") = Range("x1")

ActiveCell(j, "b") = Range("x2")

ActiveCell(j, "c") = Range("w1")

ActiveCell(j, "d") = Range("w2")

ActiveCell(j, "e") = Range("w3")

ActiveCell(j, "f") = Range("z1")

'Вывод номера шага(этапа) вычисления минимума функции

ActiveCell(j, "g") = i

j = j + 1

i = i + 1

Range("w3").Select

'Сравнение значения модуля градиента и погрешности

Loop While ActiveCell > Range("y3")

End Sub

Sub Кнопка4_Щелкнуть()

'Очистка диапазона ячеек

Range("a2", "g40").Clear

Range("x1", "x2").Clear

Range("y1", "y3").Clear

Range("v1", "v2").Clear

Range("z1").Clear

End Sub

Код формы “Метод наискорейшего спуска”

Private Sub CB1_Click()

End

End Sub

Private Sub CB2_Click()

Range("Z1").Select

Lbl1.Caption = ActiveCell

Range("c2").Select

ActiveCell = Range("w1")

Range("d2").Select

ActiveCell = Range("w2")

Range("e2").Select

ActiveCell = Range("w3")

'Вывод номера шага нахождения минимума функции

Range("g2").Select

ActiveCell = 1

End Sub

Private Sub TB1_Change()

Range("X1").Select

ActiveCell = TB1.Text

Range("a2").Select

ActiveCell = Range("x1")

End Sub

Private Sub TB2_Change()

Range("X2").Select

ActiveCell = TB2.Text

Range("b2").Select

ActiveCell = Range("x2")

End Sub

Private Sub TB3_Change()

Range("Y1").Select

ActiveCell = TB3.Text

End Sub

Private Sub TB5_Change()

Range("Y3").Select

ActiveCell = TB5.Text

End Sub

Private Sub TB4_Change()

Range("Y2").Select

ActiveCell = TB4.Text

End Sub

Private Sub TB6_Change()

Range("Z1").Select

ActiveCell = TB6.Text

Range("f2").Select

ActiveCell = Range("z1")

End Sub

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: