русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Структура таблицы при вычислении интеграла методом трапеций


Дата добавления: 2014-11-27; просмотров: 1776; Нарушение авторских прав


 

А В
x exp(-x)
=EXP(-A2)
0,1 =EXP(-A3)
0,9 =EXP(-A11)
=EXP(-A12)
S = =B14*(СУММ(B2:B12)-(B2+B12)/2)
шаг = 0,1
Точное значение: =1-EXP(-A12)

 

 

 

Рис. 21. Вычисление определенного интеграла методом трапеций

 

2. Метод Симпсона-Ньютона.

 

Расчетная формула метода Симпсона-Ньютона получается следующим образом. Отрезок [a,b] разбивается на участки, состоящие из двух смежных шагов (как уже сказано, число шагов в этом случае обязано быть четным). На каждом участке функция приближенно заменяется интерполирующим полиномом 2 степени, построенным по трем узловым значениям функции. Полином интегрируется, и получившиеся в итоге на каждом участке выражения складываются. В результате получается:

 

(2.25)

 

 

Рис. 22. Вычисление определенного интеграла методом Симпсона-Ньютона

 

Для вычисления суммы, стоящей в первой из круглых скобок последнего выражения, можно применить следующий прием (вид итоговой таблицы показан на рис. 22). Сначала на листе 2 рабочей книги воспроизводится с помощью буфера обмена диапазон А1:В12 первого листа (т.е., таблица значений исходной функции). Затем в ячейку С3 вносится формула =В3. После этого выделяется диапазон С2:С3, содержащий одну пустую ячейку и одну ячейку с формулой. Этот диапазон копируется вниз на ячейки С4:С12. В результате ячейки, соответствующие узлам с нечетными номерами (С3, С5, С7, С9, С11) заполняются значениями функции, а прочие остаются пустыми. Далее с помощью автосуммирования вычисляется сумма значений функции в столбце В и дополнительная сумма значений в столбце С (сумма значений функции в нечетных узлах). Эти суммы оказываются размещены в ячейках В13:С13. В ячейку D13 (вспомогательную) вносится формула =2*СУММ(В13:С13)-В2-В12. В ячейку В14 вносится величина шага 0,1, а в ячейку В15 - окончательная формула вычисления интеграла =D13*B14/3. После проведения вычислений в ячейкеВ15окажется значение 0,63212, совпадающее с точностью до 5 значащих цифр с точным значением интеграла (более того, меняя формат чисел в ячейках столбца В, можно убедиться, что совпадение на самом деле имеет место и в 6-й цифре после запятой). Таким образом, видно, что вычисление по формуле Симпсона-Ньютона оказывается значительно более точным.



 

3. Порядок выполнения лабораторной работы

1. На листе 1 выполнить вычисление заданного интеграла (табл. 14) методом трапеций по образцу табл. 13 и рис. 21. Число шагов взять равным 10.

2. На этом же листе в отдельной ячейке выполнить вычисление точного значения интеграла по приведенной формуле. Сравнить точное и приближенное значение.

3. На листе 2 выполнить вычисление заданного интеграла методом Симпсона-Ньютона по образцу, показанному на рис. 22.

4. Сделать вывод о точности использованных методов.

 

4. Контрольные вопросы.

 

1. Приведите определение понятия "определенный интеграл".

2. В чем заключается геометрический смысл определенного интеграла?

3. Опишите принцип получения расчетной формулы трапеций.

4. Опишите принцип получения расчетной формулы Симпсона-Ньютона.

5. Каким должно быть число расчетных шагов на отрезке интегрирования при расчете по формуле Симпсона-Ньютона?

 

5. Варианты заданий для индивидуального выполнения

Таблица 14

Интеграл Точное значение

 

Продолжение таблицы 14.

 

Интеграл Точное значение

 


Окончание таблицы 14.

 

Интеграл Точное значение

 


2.6. Решение обыкновенных дифференциальных уравнений

 

Цель работы: знакомство с методами численного решения задачи Коши, т.е., дифференциальных уравнений вида

 

(2.26)

 

или систем уравнений вида

 

(2.27)

 

с начальными условиями

 

или . (2.28)

 

 

1. Метод Эйлера.

Производная функции y(x) равна

 

(2.29)

 

Если не искать предел при , а просто взять малую величину приращения x - шагh - то можно приближено записать

 

, (2.30)

 

откуда

 

(2.31)

 

Это и есть расчетная формула метода Эйлера. Для решения отрезок оси Ох,на котором надо найти решение уравнения, разбивают на малые шаги h, затем в правую часть подставляют значения и . Это позволяет приближенно определить значение искомой функции y(x) в точке . Затем найденные значения и опять подставляют в правую часть формулы (2.31), вычисляют , и т.д. Если обозначить , то формулу (31) можно записать в окончательном виде

 

(2.32)

 

В электронных таблицах EXCEL для решения используется таблица, состоящая из трех столбцов, содержащих значения x, y и f(x,y). Принцип заполнения ячеек показан в таблице 15.

 

Таблица 15

 

Структура таблицы для реализации метода Эйлера

 

A B C
шаг h = 0,1
x y f(x)
значениеx0 значениеy0 формула f(x,y)
=A2+h =B2+C2×h копируетсяячейкаС3
копируются ячейки предыдущей строки вниз на несколько строк…

 

Вторая строка содержит текстовые заголовки столбцов.

При решении строки 1-3 заполняются вручную. В ячейки А4:В4 также вручную заносятся приведенные в таблице формулы, формула в ячейку С4 копируется из С3. Затем диапазон А4:С4 выделяется и копируется вниз на нужное число строк.

Результат решения - значения функции y(x) - оказываются в столбце В.

Метод Эйлера очень прост и легко реализуется как на компьютере, так и вручную, с использованием простейших вычислительных средств. Однако он имеет невысокую точность. Формула (2.30) позволяет определить значение производной с погрешностью порядка h, или, как говорят, имеет первый порядок точности. Тогда из (2.31) можно понять, что значения искомой функции у определяются с погрешностью порядка h2. Поэтому для получения высокой точности результатов приходится использовать очень малую величину шага, что увеличивает объем вычислений.

 

2. Метод Рунге-Кутта.

Этот метод имеет более высокую точность и чаще всего именно он используется для практического решения задачи Коши. Вычисление решения в очередном узле проводится по формуле:

 

(2.33)

 

где

 

(2.34)

 

Метод имеет четвертый порядок точности. Это значит, что производная y'x определяется в нем с погрешностью порядка h4, а значения у, соответственно – с погрешностью порядка h5.

На рис. 23 показана таблица, представляющая решение уравнения

 

, (2.35)

 

с начальным условием: y=0 при x=0 методами Эйлера и Рунге-Кутта. Для сравнения приведены точные значения решения этого уравнения - функции

 

у = sh(x). (2.36)

 

Столбцы A, B, C заполнены согласно таблице 15. В столбце D протабулировано точное решение уравнения. В столбце Е вычислена и протабулирована погрешность метода Эйлера для решаемого уравнения

 

, (2.37)

 

где d Э и у Э – соответственно, погрешность и результат решения методом Эйлера.

Ячейка F3 содержит значение шага решения. Начиная со столбца G, таблица содержит решение задачи методом Рунге-Кутта. При этом столбцы G и J содержат вспомогательные величины, которые используются при вычислении промежуточной функции метода Рунге-Кутта К1. Если функция f(x,y) в дифференциальном уравнении имеет сложную структуру, использование вспомогательных столбцов уменьшает вероятность ошибки.

Для того, чтобы вспомогательные столбцы не перегружали таблицу, их можно скрыть. Для этого после завершения создания таблицы вспомогательные столбцы выделяются целиком (щелчком по буквенному обозначению), затем правым щелчком вызывается контекстное меню и в нем выбирается команда "Скрыть". Скрытые столбцы не видны на экране и не выводятся на печать, однако они присутствуют в таблице и участвуют в вычислениях. Если в таблице изменить значения исходных влияющих ячеек (например, величину шага), то значения ячеек скрытых столбцов автоматически пересчитываются и это отражается на вычислении значений ячеек, зависимых от скрытых.

О наличии в таблице скрытых столбцов (или строк) можно судить по нарушению алфавитного порядка обозначений столбцов (или, соответственно, нумерации строк). Так, на рис. 23 видно, что в таблице отсутствуют столбцы L и N. На самом деле они скрыты. Эти столбцы содержат, аналогично столбцу J, вспомогательные величины y+K1/2, y+K2 , использованные при вычислении K2 и K3 соответственно. Подобным образом можно, разумеется, скрыть и вспомогательные столбцы G и J.

Для отображения на экране скрытых столбцов или строк надо выделить мышью соседние столбцы или строки по обе стороны от скрытых, вызвать контекстное меню и выбрать в нем команду "Отобразить".

При создании таблицы метода Рунге-Кутта в ячейку Н3 вручную заносится значение начального условия у0. Затем последовательно заполняются ячейки третьей строки от I3 до O3. В ячейку Н4 заносится формула

 

=Н3+(I3+2*K3+2*M3+)3)/6.

 

Затем ячейки I3:O3 копируются вниз, в четвертую строку. После заполнения четвертой строки весь диапазон H4:O4 копируется вниз на нужное число строк (до строки 13 включительно).

В столбце Р вычислена и протабулирована погрешность метода Рунге-Кутта, которая вычисляется аналогично (37)

 

(2.38)

 

При построении графика решений необходимо выделить одновременно ячейки из диапазонов A3:B13, D3:D13, H3:H13. Для этого после выделения мышью первого диапазона следует нажать и держать прижатой клавишу <Ctrl>, продолжая выделять мышью новые диапазоны.

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

 

3. Порядок выполнения работы.

 

1. На листе 1 выполнить решение обыкновенного дифференциального уравнения на отрезке [a,b] согласно индивидуальному варианту задания (табл. 16) методами Эйлера и Рунге-Кутта .

2. Построить диаграмму решений задачи - функций y(x) - по результатам решения обоими методами. На этой же диаграмме привести график точного решения уравнения, рассчитанного по формуле, приведенной в табл. 16.

3. Рассчитать значения и построить графики погрешностей обоих методов.


 

Рис 23. Решение задачи Коши для обыкновенного дифференциального уравнения


4. Контрольные вопросы и задания.

1. Что понимается в математике под задачей Коши?

2. Каков порядок точности метода Эйлера? Что это означает?

3. Запишите расчетную формулу метода Эйлера и опишите порядок действий при решении задачи этим методом.

4. Каков порядок точности метода Рунге-Кутта? Что это означает?

5. Как производится скрытие строк или столбцов в таблице EXCEL?

6. Как отобразить на экране скрытые строки или столбцы?


 

5. Варианты заданий для индивидуального выполнения.

 

Таблица 16

 

Уравнение Y(a) a b h Точное решение
0,1
-2 0,1
0,1
1,5 0,1
-1,5 0,1
0,1
0,1
0,1
0,5 0,1
0,1
0,1
0,1

Окончание таблицы 16.

 

0,1
23/7 0,1
0,1
0,1
0,1
0 0,1
2/3 0,1
0,1
0,1
0,2 0,1
0,1
0,1

 

2.7. Решение дифференциального уравнения в частных производных

 

Цель работы: знакомство с основными принципами сеточных методов численного решения дифференциальных уравнений в частных производных. Освоение приемов проведения циклических вычислений в EXCEL.

 

В качестве примера рассматривается решение дифференциального уравнения Лапласа

 

(2.39)

 

в квадратной области: с граничными условиями:

 

T=T3+(T4-T3)×f1(x) при y= -1;

T=T1+(T2-T1)×f2(x) при y=1;

(2.40)

T=T3+(T1-T3)×f3(y) при x= -1;

T=T4+(T2-T4)×f4(y) при x= 1.

 
 

 

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

Такое уравнение, в частности, может описывать распределение температуры Т(х, у) ("температурное поле") в поперечном сечении длинной балки с неравномерно подогреваемой наружной поверхностью (рис. 24).

1. Метод решения.

 

 
 

Для численного решения дифференциальных уравнений в частных производных чаще всего пользуются различными вариантами метода сеток. Накроем рассматриваемую область сеткой из 2N+1 горизонтальных и 2N+1вертикальных линий, равноотстоящих друг от друга. Расстояние между соседними линиями (шаг сетки) составит тогда h = 1/N. Точки пересечения линий называются узлами сетки. Будем обозначать линии сетки номерами: i– для вертикальных (соответствующих определенному значению xi = ih, если номер iизменяется от –N до N) и j– горизонтальных ( соответствующих определенным значениям yj = jh). Тогда узел сетки можно определить по номерам линий, на пересечении которых он лежит (рис. 25).

 

Рис. 25. К выводу сеточного уравнения (2.45).

 

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

Обозначим Ti,j=T(xi,yj). Аналогично обозначаются значения температуры или ее производных в других узлах сетки. Используя разложение функции T(x,y)в ряд Тейлора, можно записать:

 

(2.41)

Сложим эти выражения почленно:

 

. (2.42)

 

Отсюда можно выразить вторую производную:

 

. (2.43)

 

Аналогично можно представить и вторую производную температуры по координате y. Подставив приближенные выражения производных в уравнение (2.39), получим его разностное представление:

 

, (2.44)

 

или

 

. (2.45)

 

Записав такие соотношения для каждого узла сетки, получим систему из (N-1)2 линейных алгебраических уравнений для нахождения значений сеточной функции (температуры) в узлах (кроме узлов, лежащих на границах, для которых значения температур определяются граничными условиями (2.40)).

Из (2.43) ясно, что выражения производных в (2.44) имеют второй порядок точности (погрешность порядка h2), а значения температур определяются из (2.45) с погрешностью порядка h4.

Решение системы уравнений вида (2.45) можно осуществить различными способами. Наиболее простым (хотя не самым эффективным) является метод последовательных приближений.

 

2. Порядок работы.

 

В работе производится решение уравнения (2.39) в области с шагом сетки 0,1. Значения функции T(x,y) в угловых точках принимаются равными Т1=315, T2=330, Т3=290, Т4=310. Функции граничных условий f1(x), f2(x), f3(y), f4(y) выбираются согласно индивидуальному варианту задания из таблицы 17.

Для решения задачи создается таблица, ячейки которой соответствуют узлам сетки и содержат значения искомой функции T(x, y) (для определенности будем именовать ее "температурой") в этих узлах. Иначе говоря, создается таблица значений функции двух переменных. Переход вдоль строки от столбца к столбцу ("по горизонтали") соответствует изменению координаты х, переход от строки к строке вдоль столбца – изменению координаты у.

Диапазоны формируемой таблицы заполняются следующим образом (рис. 26):

· ячейки A1:X1 (с выравниванием по центру диапазона) – заголовок Расчет температурного поля;

· С3 – текстовый заголовок X:, B4 – текстовый заголовок Y:;

· D3:X3 – значения координаты x (арифметическая прогрессия на заданном отрезке с заданным шагом 0,1);

· B5:B25 – значения координаты y (аналогичная прогрессия);

· D5:X25 – диапазон, отведенный под значения температур;

· A5:A25 – текст Направление вертикали.Текст сначала вводится в ячейку А5, затем ячейки диапазона A5:A25 выделяются и на панели форматирования отыскивается и щелкается виртуальная кнопка [Объединить и поместить в центре].

· A27:X27 – текст Направление горизонтали (с выравниванием по центру диапазона);

Последовательность действий:

1. Выделив таблицу, установить для чисел формат "Числовой" с одним десятичным знаком; для шрифта выбрать гарнитуру "Times New Roman" и кегль 12. Это связано с тем, что таблица получается большой и для удобства просмотра на экране приходится выбирать шрифт с более плотным расположением знаков. Можно также попытаться уменьшить масштаб отображения на экране с помощью окна ввода "Масштаб" на стандартной панели инструментов (вполне приемлем масштаб 80-90%). Установить для столбцов автоматический подбор минимально возможной ширины (команда меню Формат" – "Столбец" – "Автоподбор ширины").

2. Заполнить диапазоны, содержащие тексты.

3. Заполнить диапазон D3:X3 значениями x от –1 до 1 с шагом 0,1.

4. Заполнить диапазон B5:B25 значениями y от 1 до –1 с шагом –0,1.

5. В ячейки D5, X5, D25, X25 ввести значения Т1=315, T2=330, Т3=290, Т4=310.

6. Заполнить диапазон E5:W5 значениями функции T1+(T2-T1)×f2(x). Формула заносится в ячейку Е5 (значение х берется из ячейки Е3), затем копируется в остальные ячейки диапазона. При создании формулы в ячейке Е5 ссылки на ячейки D5, X5, содержащие значения Т1 и Т2, должны быть абсолютными.

7. Аналогичным образом заполнить диапазоны E25:W25, D6:D24, X6:X24.

8. Выбрать команду меню: "Сервис" – "Параметры" – вкладка "Вычисления"; в раскрывшемся окне установить переключатель "Вручную" и флажок "Итерации". Установить предельное число итераций 100, относительную погрешность 0,0001.

9. Занести в ячейку E6 формулу: =(E5+E7+D6+F6)/4.

10. Скопировать эту формулу в ячейки F6:W6, затем скопировать диапазон E6:W6 вниз, в строки 7 – 24. В результате должен заполниться диапазон E6:W24.

11. Нажатием клавиши <F9> произвести пересчет таблицы.

12. Нажимая клавишу F9 повторно, выполнять пересчет листа до тех пор, пока значения в ячейках не перестанут меняться (изменение значений в ячейках контролируется визуально).

13. Построить диаграмму полученного распределения температур в виде поверхности (рис. 27).

 

 

3. Контрольные вопросы и задания.

 

1. В чем состоит идея метода сеток?

2. Что такое сеточная функция?

3. Как получить приближенное выражение второй производной через значения сеточной функции? Каков порядок точности такого выражения?

4. Какова погрешность определения узловых значений искомой функции в методе, использованном в данной работе?

5. Запишите расчетную формулу для ячейки E7. Сравните ее с формулой для ячейки Е6. Покажите, что эти формулы содержат циклические ссылки.

6. В каком режиме вычислений в EXCEL допустимо применение циклических ссылок? Какая команда меню позволяет установить такой режим?

 

 


 

Рис. 26. Таблица решения уравнения Лапласа

 

Рис. 27. Диаграмма решения уравнения Лапласа.


Задания для индивидуального выполнения (виды функций граничных условий):

Таблица 17.

 

Вариант f1(x) f2(x) f3(y) f4(y)

 


Окончание таблицы 17.

 

Вариант f1(x) f2(x) f3(y) f4(y)

2.8. Решение задач одномерной оптимизации

Цель работы: освоение методов решения задач одномерной безусловной оптимизации.

 

Под задачей одномерной оптимизации понимается поиск точки экстремума некоторой функции F(x), называемой целевой. Практический смысл целевой функции зависит от содержания задачи.

1. Пример постановки задачи оптимизации.

 

Необходимо спроектировать корпус химического реактора в форме цилиндра длиной L и радиусом R, закрытого с торцов крышками полусферической формы. Крышки присоединяются к корпусу с помощью фланцев шириной b. Размеры реактора должны быть такими, чтобы при заданном объеме V0 на его изготовление уходило минимальное количество материала (если толщина стального листа всюду одинакова, то минимальный расход материала соответствует минимальной общей площади поверхности всех частей корпуса).

 

2. Математическая постановка задачи.

 
 

 

Рис. 28 Схема устройства корпуса реактора.

 

Объем реактора можно выразить, как сумму объемов цилиндра и двух торцевых полушарий

 

, (2.46)

 

площадь его поверхности – как сумму площади боковой цилиндрической поверхности и площадей двух торцевых полусфер

 

. (2.47)

 

Площадь каждого из четырех фланцев – это площадь кольца внутренним радиусом R и шириной b

 

. . (2.48)

 

Тогда общая площадь всех частей корпуса

 

. (2.49)

 

Используя выражение объема, можно исключить из формулы для S одну из неизвестных величин, например L

. (2.50)

 

Тогда задача сводится к отысканию минимума целевой функции

 

(2.51)

 

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

Для определенности будем рассматривать поиск минимума целевой функции. Если ставится задача поиска максимума функции F(x), ее можно заменить эквивалентной задачей отыскания минимума функции F1(x) = - F(x).

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

 

3. Методы решения задачи оптимизации.

 

Основным методом решения задачи одномерной оптимизации является метод дихотомии (последовательного разрезания надвое). В наиболее общем варианте этого метода внутри отрезка унимодальности [A, B] берутся две произвольных точки C и D (рис. 29). В этих точках вычисляются значения функции. После этого от отрезка отбрасывается его часть, лежащая между точкой, в которой значение функции получилось большим, и краем отрезка со стороны этой точки. Легко понять, что в этой части отрезка точка минимума лежать не может; в противном случае у функции на отрезке [A, B] оказалось бы две точки минимума, что противоречит условию его унимодальности. На рис. 29 следует отбросить часть первоначального отрезка [A, C); тогда отрезок унимодальности становится равным [C, B]. Многократным повторением этих действий отрезок унимодальности можно последовательно уменьшить до сколь угодно малой величины.

 
 


Рис. 29 К описанию метода дихотомии.

 

Различные варианты метода дихотомии связаны с правилами выбора точек C и D.


а) Метод половинного деления.

Точки C и D выбираются равноотстоящими на малую величину d =e /2 от середины отрезка (e - допустимая погрешность определения точки минимума)

 

. (2.52)

 

В этом случае от отрезка унимодальности можно каждый раз отбрасывать половину – либо [A, (A+B)/2), либо ( (A+B)/2, B] – в зависимости от того, в какой из точек значение целевой функции окажется больше[1].

 

б) Метод золотого сечения

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

 

, (2.53)

 

иными словами:

· если на большей части отрезка отметить точку, отстоящую от его конца на меньшую часть того же отрезка, то большая часть будет поделена этой точкой в отношении золотого сечения;

· если к целому отрезку добавить дополнительно его большую часть, то новый отрезок длиной 1,618 от первоначального будет поделен точкой 1 в отношении золотого сечения;

Точные значения коэффициентов золотого сечения равны

 

, (2.54)

 

В методе золотого сечения на отрезке унимодальности определяют две точки, которые делят его в отношении золотого сечения с разных сторон

 

. (2.55)

 

Если отбросить одну из крайних частей отрезка, то оставшаяся часть будет поделена оставшейся на ней точкой в отношении золотого сечения. Таким образом, оставшаяся точка сразу оказывается одной из двух необходимых точек (C или D) для нового приближения.

Видно, что на каждом шаге необходимо заново определить одну дополнительную точку и значение целевой функции в ней. Хотя на каждом шаге отрезок унимодальности уменьшается не в два раза, как в методе половинного деления, а только в (1/0,618), то есть в 1,618 раза, однако количество расчетов на каждом шаге уменьшается вдвое и в целом метод оказывается более экономичным. Это имеет значение, если расчеты приходится проводить вручную. При расчетах на компьютере экономичность не столь заметна, так как на каждом шаге приходится определять – в качестве какой из двух точек (С или D) для нового шага выступает оставшаяся на отрезке точка – и производить соответствующее переопределение значений переменных (в EXCEL – перенос значений из одной ячейки в другую). Поэтому программирование метода золотого сечения более сложно, чем программирование метода половинного деления.

Ниже рассматривается решение описанной в качестве примера задачи при значениях V0=5 м3, b=0,15 мметодами половинного деления и золотого сечения. График целевой функции показан на рис. 30.

 
 

 

Рис. 30. График целевой функции.

 

Из графика видно, что в качестве первоначального отрезка унимодальности можно выбрать отрезок [0,4; 0,8]. Погрешность определения точки минимума выбрана равной 0,001. Точность расчетов в таблицах контролируется визуально – по совпадению видимых значений A и B в ячейках очередной строки таблицы, для числовых значений которой выбран числовой формат с тремя знаками после запятой.

Структура электронных таблиц для реализации методов половинного деления и золотого сечения показана в таблицах 18, 19. Вид итоговых таблиц показан на рис. 31, 32. На рис. 33 показано изменение значений характерных точек А, C, D, В от шага к шагу в методе золотого сечения.

 

 

Рис. 31. Результат решения задачи оптимизации методом половинного деления

 

Для сокращения таблицы 18 в ней опущены формулы вычисления целевой функции. Формула, соответствующая (2.51), первоначально заносится с клавиатуры в ячейку F5. В качестве значения R в нее подставляется ссылка на ячейку С5. Затем формула копируется в ячейку G5, а потом формулы из этих двух ячеек копируются на нужное число строк вниз.

В таблице 19 вычисления значений характерных точек и целевой функции по формулам (2.55) и (2.51), начиная со строки 5, являются только частью более сложных логических формул, учитывающих в нужных случаях перенос значений целевой функции из предыдущей строки вместо их вычисления. Формулы заносятся в ячейки строки 5 с клавиатуры, а затем копируются вниз на нужное количество строк.

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

 

 

Рис. 32. Результат решения задачи оптимизации методом золотого сечения.

 

 

Рис. 33. Изменение характерных точек отрезка

унимодальности в методе золотого сечения.

 


Таблица 18.

 

Структура электронной таблицы для реализации метода половинного деления

 

A B C D E F G
V0=
b= 0,15
e= 0,0001
A (A+B)/2 C D B F(C) F(D)
0,4 =(A5+E5)/2 =B5-$B$3/2 =B5+$B$3/2 0,8 формулы целевой
=ЕСЛИ(F5<G5;A5;B5) =(A6+E6)/2 =B6-$B$3/2 =B6+$B$3/2 =ЕСЛИ(F5<G5;B5;E5) функции от аргументов


<== предыдущая лекция | следующая лекция ==>
Структура таблицы для реализации метода простых итераций | МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.043 сек.