Скачиваний:
16
Добавлен:
01.05.2014
Размер:
111.62 Кб
Скачать

Результаты тестирования метода

Ниже приведена таблица с результатами работы программы для функции f(x) = 100(x2-x12)2+ (1 -x1)2, с различными стартовыми точками и точностями вычисления.

Точность:

0.0001

0.00001

0.000001

Метод Коши

К

x*

K

x*

K

x*

X0=(1.2,1)

6241

(0.999902, 0.999803)

9625

(0.999991, 0.999981)

14207

(0.999999, 0.999998)

X0=(1.5,2)

614

(1.00011, 1.000221)

812

(1.000011, 1.000022)

1106

(1.000001, 1.000002)

X0=(-2,-2)

5704

(0.999899, 0.999797)

7410

(0.99999, 0.99998)

9114

(0.999999, 0.999998)

Выводы:

В данной работе был использован метод Свенна4 и метод Дэвидона для получения оптимального шага. Поиск ведется в пространстве, начиная с заданной начальной точки x0по антиградиентному направлениюp0. И в результате выполнения метода Коши находится оптимальный шаг, доставляющий минимум в результате исчерпывающего спуска вдоль антиградиентного направленияpк. Полученный шаг соответствует точкеx* =xк+1 . Большое количество итераций и неточность минимума объясняется тем, что вблизи минимума для реальных (овражных) функций метод зацикливается, либо рыскает и останавливается.

Ответы на контрольные вопросы:

1. Перечислите основные постулаты структурного программирования.

1) Абстракция данных;

2) Разбиение программы на модули;

3) Отказ от команды безусловного перехода, известной также под названием GOTO;

4) Использование подпрограмм.

2. Перечислите основные постулаты объектно-ориентированного программирования.

1) Инкапсуляция;

2) Наследование;

3)Полиморфизм.

3. В чем отличие структурного и объектно-ориентированного подхода при разработке программ?

Абстрактность - нелинейное, зависящее от смысла соответствие между исходным и результирующим кодом. Абстрактность позволила непосредственно заняться проблемой управляемости программ.

Разбиение программы на модули, соответствует разбиению основной задачи на множество небольших подзадач. Каждый модуль выполняет свою задачу независимо от других, и потому может быть описан и отлажен отдельно. Определяется модуль как фрагмент программы с одним входом и одним выходом, состоящий из операций, "вложенных" модулей и структурных операторов передачи управления.

Теоретически принцип инкапсуляции применим как к отдельным объектам, так и к классам. В случае классов с методами объединяются не сами данные, а структуры данных, и объединение с конкретными данными происходит в момент создания объектов данного класса. На практике же многие объектно-ориентированные языки не позволяют создавать объекты, не создав предварительно класса.

 Наследование относится только к классам объектов. Это означает, что каждый объект может иметь наследников, каждый из которых будет обладать всеми полями и методами своего предка. Кроме того, как правило, классы-наследники совместимы по типу со своими предками. Наследование бывает двух видов:

одиночное - когда каждый класс имеет одного и только одного предка;

множественное - когда каждый класс может иметь любое количество предков. 

Множественное наследование обладает более мощными возможностями: в одном классе-наследнике объединяются свойства (поля и методы) множества различных классов. К примеру один из предков может рисовать себя, а другой - производить вычисления. представитель их наследника смогут делать и то, и другое.

Полиморфизм неразрывно связан с наследованием и гласит, что каждый класс наследник может обладать не только свойствами, унаследованными от предка, но и своими собственными. В частности, свойства предка могут быть перекрыты наследником - на место свойств предка могут быть подставлены свойства наследника.

Существование принципа полиморфизма является естественным следствием существования принципа наследования: наследование без изменения набора свойств не имеет смысла. Кроме того, без полиморфизма невозможно реализовать объединение различных объектов (классов) по некоторому набору свойств (невозможно абстрагироваться от части свойств объектов), а без этого теряется весь смысл подхода.

4. Какие преимущества дает объектно-ориентированный подход?

Объектно-ориентированный подход дает следующие преимущества

  • уменьшение сложности программного обеспечения;

  • повышение надежности программного обеспечения;

  • обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов;

  • обеспечение возможности повторного использования отдельных компонентов программного обеспечения.

5. Представить 3 формулы численного дифференцирования. Являются ли они равноценными при практической реализации?

Численное дифференцирование используется, когда функция не задана в аналитическом виде.

14

Соседние файлы в папке Всё стасовское новое