Главная  
  • Программы  
  • Методички  
  • Рефераты  
  • Дипломы  
  • Разное  
  • Фото  
  • Контакты  
  • Карта сайта  

  • Я:
    Найти:
    Возраст:
    -

    Разработка программы для определения минимума функции двух переменных

    HashFlare

    1. АНАЛИЗ ПОСТАНОВКИ ЗАДАЧИ
    1.1 Постановка задачи.
    Разработать программу для определения минимума функции. Сравнить эф-фективность методов покоординатного и градиентного спуска. Продемонстри-ровать данные методы для функции

    Исходные данные: значения коэффициентов (a, b, c, d), координаты начальной точки (x, y), погрешность . Выходные данные: значение минимума функции и количество итераций для методов покоординатного и градиентного спуска.

    1.2 Критерии эффективности и качества разрабатываемой программы.


    Обязательным требованием для данной программы является правиль-ность выполнения. Важный критерий - интуитивность работы с программой: она не должна вызывать у пользователя сложностей в поиске необходимых элементов интерфейса для управления процессом решения поставленной зада-чи. Необходимо избежать избыточности. Это означает, что пользователь дол-жен вводить только минимальную информацию для работы или управления программой. Необходимо использовать значения по умолчанию, чтобы мини-мизировать процесс ввода информации. Также нужно, чтобы система обеспе-чивала пользователя необходимыми инструкциями. Сообщения об ошибках должны быть полезны и понятны пользователю.

    1.3 Описание метода решения задачи.


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

    Программа фиксирует значение переменной X, таким образом по-лучается функция одной переменной Y. Считаются значения (1)

    (2)

    где Jump - шаг поиска. Если F1<F, то функция убывает в сторону убывания Y. Полагаем F=F1, дела-ем пересчет по формулам (1) и (2). Продолжаем движение по убыванию функ-ции до тех пор, пока сохраняется условие F1<F. Как только F1 становится больше F, уменьшаем шаг Jump вдвое, и начинаем движение в обратную сторо-ну пользуясь новой формулой для F1: (3)

    Если F1 снова станет меньше чем F, то для расчета F1 надо будет опять поль-зоваться формулой (2). Так надо продолжать до пор, пока модуль разности |F-F1|> eps - допустимой погрешности.

    Затем программа фиксирует значение переменной Y, таким образом получается функция одной переменной X. Считаются значения (4)

    (5)

    где Jump - шаг поиска. Если F1<F, то функция убывает в сторону убывания X. Полагаем F=F1, дела-ем пересчет по формулам (4) и (5). Продолжаем движение по убыванию функ-ции до тех пор, пока сохраняется условие F1<F. Как только F1 становится больше F, уменьшаем шаг Jump вдвое, и начинаем движение в обратную сторо-ну пользуясь новой формулой для F1: (6)

    Если F1 снова станет меньше чем F, то для расчета F1 надо будет опять поль-зоваться формулой (5). Так надо продолжать до пор, пока модуль разности |F-F1|> eps - допустимой погрешности.

    На этом поиск минимума методом покоординатного спуска окончен. F1 - минимум функции.

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

    Программа вычисляет значение градиента данной функции в на-чальной точке. Градиент GradF - это сумма частных производных GradX+GradY. (7)

    (8)

    (9)

    Если GradF=0, значит, функция убывает в сторону уменьшения координат. Полагаем

    X-=Jump (10)
    Y-=Jump (11)

    Пересчитаем градиент.

    Далее






    Содержание:

    Постановка задачи

    Техническое задание

    Декомпозиция

    РАБОЧИЙ ПРОЕКТ

    ТЕСТИРОВАНИЕ И ОТЛАДКА

    © Copyright 2006-2017. Все права защищены. Сайт бесплатно.