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

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

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



    2 ПРОЕКТИРОВАНИЕ
    2.1. Декомпозиция


    Следующие схемы помогут наглядно увидеть принцип работы программы.



    Рисунок 1- контекстная диаграмма модели

    На рисунке 1 показана контекстная диаграмма модели. А именно, исходные данные, управление и результаты.



    Рисунок 2 - Функционально-структурная схема программы

    На рисунке 2 наглядно показана декомпозиция. Представлены SAD-блоки, а также их доминирование друг над другом.



    Рисунок 3 - Функционально-структурная схема блока "Найти методом по-координатного спуска"

    На рисунке 3 представлена декомпозиция SAD-блока "Найти методом поко-ординатного спуска".Данный блок разбивается на два: поиск по координате Y и поиск по координате X.



    Рисунок 4 - Функционально-структурная схема блока "Поиск по координа-те X"



    Рисунок 5- Функционально-структурная схема блока "Поиск по координате Y"



    Рисунок 6 - Функционально-структурная схема блока "Найти методом гра-диентного спуска"



    Рисунок 7 - Функционально-структурная схема блока "Вывести графики се-чений"
    2.2 Описание общего алгоритма работы программы




    Рисунок 8 - Блок-схема алгоритма метода покоординатного спуска



    Рисунок 9 - Блок-схема алгоритма метода градиентного спуска



    Рисунок 10 - Блок-схема алгоритма вывода графиков сечений функции

    Псевдокод метода покоординатного спуска

    Начало
    Временная переменная X = Начальная координата поиска Xn;
    Временная переменная Y = Начальная координата поиска Yn;
    Цикл-пока |F-F1|>eps
    Пересчитать F;
    Пересчитать F1;
    То Если F<F1
    То Уменьшить значение Y;
    Иначе Увеличить значение Y;
    Всё-Если
    Если Вышли за границы поиска
    То Вывести сообщение "Нет минимума на данном промежутке" Конец
    Всё-Если
    Всё-цикл
    Уменьшить значение X;
    Цикл-пока |F-F1|>eps
    Пересчитать F;
    Пересчитать F1;
    То Если F<F1
    То Уменьшить значение X;
    Иначе Увеличить значение X;
    Всё-Если
    Если Вышли за границы поиска
    То Вывести сообщение "Нет минимума на данном промежутке" Конец
    Всё-Если
    Всё-цикл
    Конец


    Псевдокод метода градиентного спуска
    Начало
    Временная переменная X = Начальная координата поиска Xn;
    Временная переменная Y = Начальная координата поиска Yn;
    Пересчитать F;
    Пересчитать F1;
    Цикл-пока |F-F1|>eps
    Вычислить градиент функции;
    Если градиент меньше 0
    То Уменьшить координаты в направлении антиградиента;
    Иначе Увеличить координаты в направлении антиградиента;
    Всё-Если
    Если Вышли за границы поиска
    То Вывести сообщение "Нет минимума на данном промежутке" Конец
    Всё-Если
    Всё-цикл
    Конец


    Псевдокод вывода графиков сечений
    Начало
    Нарисовать оси координат;
    Ввести временную переменную Xtemp;
    s = false;
    Цикл-пока Xtemp<=X2
    Если s == false
    То Пересчитать F;
    Переместиться до текущего значения функции;
    s = true;
    Иначе Пересчитать F;
    Провести линию до текущего значения функции;
    Всё-Если
    Всё-цикл
    s = false;
    Ввести временную переменную Ytemp;
    Переместиться на график сечения по плоскостью X=0;
    Цикл-пока Ytemp<=Y2
    Если s == false
    То Пересчитать F;
    Переместиться до текущего значения функции;
    s = true;
    Иначе Пересчитать F;
    Провести линию до текущего значения функции;
    Всё-Если
    Всё-цикл
    Конец


    Далее






    Содержание:

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

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

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

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

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

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