Моделирование процесса параметрической идентификации динамического объекта
А также, на каждом шаге подставив полученные значения, рассчитываем Выберем шаг h=0.5, выполним необходимые вычисления и построим график функции. Здесь нам нужно найти значения функции Y теоретического, для того, чтобы потом получить Y экспериментальное, с помощью шума. Результаты пошагового приближения показаны в таблице 6 «Зависимость CF от значений a1 и T», график CF представлен на рис. 7… Читать ещё >
Моделирование процесса параметрической идентификации динамического объекта (реферат, курсовая, диплом, контрольная)
1. Постановка задачи
В нашей работе нам нужно создать модель, которая будет удовлетворять исходным данным и сможет найти оптимальные параметры для идентификации исходной функции. Результатом работы должны быть графики поиска минимума значения функции, гистограмма распределения точек генератора случайных чисел, а также график Y теоретического, Y экспериментального от времени.
Моделирование используется, если эксперимент с реальным объектом:
1) опасный
2) дорогой
3) долговременный / краткосрочный
4) невозможный / трудный Условная схема моделирования:
Т.к. у нас отсутствует объект, то мы заменяем его на Y теоретическое + шум
Y экспериментальное = Y теоретическое + шум
2. Нахождение Y теоретического. Преобразование формулы и решение ее с помощью Метода Эйлера
Здесь нам нужно найти значения функции Y теоретического, для того, чтобы потом получить Y экспериментальное, с помощью шума.
Используя метод введения дополнительной переменной, получим:
Перейдём в вещественную форму:
Обозначим:
Получим систему уравнений в канонической форме:
Далее решаем систему методом Эйлера. Начальные условия:
А также, на каждом шаге подставив полученные значения, рассчитываем Выберем шаг h=0.5, выполним необходимые вычисления и построим график функции.
Полученный график представлен на рис. 1. По графику видно, что функция
y (t)-> к числу чуть больше 0. А выходит она из точки ~ -1500.
Узнаем точные значения этих точек. Для этого вычислим пределы:
= 30
= -1500
Некоторые значения y представлена в таблице 1 «Зависимость значения функции от времени».
Наилучший период наблюдения t=1…300, шаг h=0.5.
Взято 300 точек, т. к. уже на этом периоде наблюдения видно как график функции сходится к положительному числу около 0. График функции искажается при шаге больше 0.5 (при шаге больше 0,8 — расходится). А при меньшем шаге сходимость получим за большее число шагов. Поэтому выбран шаг h=0.5.
Таблица 1. Зависимость значения функции от времени
t | y (t) | |
— 1500,000 | ||
1130,336 | ||
— 407,472 | ||
— 131,811 | ||
546,368 | ||
— 554,815 | ||
465,039 | ||
— 156,678 | ||
— 15,510 | ||
218,653 | ||
— 192,945 | ||
201,441 | ||
— 48,697 | ||
18,974 | ||
98,544 | ||
— 54,763 | ||
97,352 | ||
— 2,843 | ||
28,262 | ||
54,751 | ||
— 2,138 | ||
56,381 | ||
16,410 | ||
30,295 | ||
38,875 | ||
17,849 | ||
40,304 | ||
24,418 | ||
30,484 | ||
33,157 | ||
3. Моделирование метода оптимизации
3.1 Описание метода поиска
Метод предназначен для нахождения экстремума (минимума) функции, но в нашем случае: .
1. Задается начальная точка, отличная от точки минимума. Задаются точность (E) и шаг (h).
2. Далее выбираем координату (направление), по которой будем двигаться по функции:
а все остальные координаты фиксируем. И ищем минимальное значение функции как функцию одной переменной (Х1)
В случае если новое значение функции больше предыдущего, то меняем шаг на противоположный (h = - h).
3. Когда находим значение координаты, при котором значение функции минимально, то выбираем другую координату, по которой будем двигаться по функции:
а все остальные координаты снова фиксируем.
Выбор остановки задан 4 условиями:
1.
2.
3.
4. Число обращений (итераций)
k(f) > kmax
3.2 Результаты работы программы
Квадратичная функция (Эллипс)
Функция имеет вид
Начальная точка А0 (2, 2).
Таблица 2. Изменение x1 и x2, исходя из поиска min значения квадратичной функции
№ шага | X1 | X2 | |
1,8 | |||
1,6 | |||
1,4 | |||
1,2 | |||
0,8 | |||
0,6 | |||
0,4 | |||
0,2 | |||
2,78E-16 | |||
2,78E-16 | 1,8 | ||
2,78E-16 | 1,6 | ||
2,78E-16 | 1,4 | ||
2,78E-16 | 1,2 | ||
2,78E-16 | |||
2,78E-16 | 0,8 | ||
2,78E-16 | 0,6 | ||
2,78E-16 | 0,4 | ||
2,78E-16 | 0,2 | ||
2,78E-16 | 2,78E-16 | ||
N = 21
Функция Розенброка
Функция имеет вид:
Начальная точка А0 (2, 2).
EPSILON = 0.001; %Точность
h = 0.1; %Шаг Таблица 3. Изменение x1 и x2, исходя из поиска min значения функции Розенброка
№ шага | X1 | X2 | |
1,9000 | |||
1,8000 | |||
1,7000 | |||
1,6000 | |||
1,5000 | |||
1,4000 | |||
N = 7
Начальная точка А0 (1, -4).
EPSILON = 0.001; %Точность
h = 0.1; %Шаг Таблица 4. Изменение x1 и x2, исходя из поиска min значения функции Розенброка
№ шага | X1 | X2 | |
— 4 | |||
0,8 | — 4 | ||
0,6 | — 4 | ||
0,4 | — 4 | ||
0,2 | — 4 | ||
5,55E-17 | — 4 | ||
5,55E-17 | — 3,8 | ||
5,55E-17 | — 3,6 | ||
5,55E-17 | — 3,4 | ||
5,55E-17 | — 3,2 | ||
5,55E-17 | — 3 | ||
5,55E-17 | — 2,8 | ||
5,55E-17 | — 2,6 | ||
5,55E-17 | — 2,4 | ||
5,55E-17 | — 2,2 | ||
5,55E-17 | — 2 | ||
5,55E-17 | — 1,8 | ||
5,55E-17 | — 1,6 | ||
5,55E-17 | — 1,4 | ||
5,55E-17 | — 1,2 | ||
5,55E-17 | — 1 | ||
5,55E-17 | — 0,8 | ||
5,55E-17 | — 0,6 | ||
5,55E-17 | — 0,4 | ||
5,55E-17 | — 0,2 | ||
5,55E-17 | 1,28E-15 | ||
0,2 | 1,28E-15 | ||
N = 27
4. Реализация ГСЧ
Создание ГСЧ и поиск модели зашумленного сигнала. В нашем случае используем метод усечения для создания ГСЧ. Чтобы испытать ГСЧ строим гистограмму на 10 000 точек. Сгенерированные точки должны соответствовать закону:
. y_max — максимальное значение Y по модулю из всех точек графика Y теор.
возьмем, т. к. y_max по модулю больше 500 (1500).
Проверка генератора «Треугольного шума» при N = 10 000 и delta_y = 7.5:
График Y теоретического и Y экспериментального (зашумленный график Y теоретического).
Таблица 5. Значения Yэкс в зависимости от шума
№ точки | Yэкс (1), =0,005 | Yэкс (2), =0,01 | Yэкс (3), =0,02 | |
— 1506,561 | — 1496,972 | — 1496,153 | ||
85,083 | 84,577 | 88,712 | ||
1245,416 | 1256,870 | 1264,160 | ||
112,760 | 98,695 | 92,571 | ||
— 939,953 | — 938,000 | — 946,931 | ||
— 131,166 | — 132,577 | — 145,555 | ||
775,672 | 777,251 | 796,285 | ||
232,010 | 231,750 | 229,776 | ||
— 547,185 | — 551,959 | — 555,088 | ||
— 191,216 | — 194,543 | — 181,249 | ||
465,503 | 455,118 | 452,909 | ||
252,133 | 241,894 | 263,565 | ||
— 293,631 | — 286,842 | — 295,902 | ||
— 173,814 | — 186,403 | — 181,508 | ||
264,253 | 267,846 | 265,955 | ||
218,090 | 216,414 | 215,207 | ||
— 136,696 | — 134,625 | — 138,823 | ||
— 141,899 | — 136,791 | — 149,690 | ||
151,825 | 139,051 | 159,285 | ||
175,463 | 182,452 | 196,729 | ||
— 50,295 | — 57,314 | — 57,741 | ||
— 87,542 | — 81,579 | — 99,699 | ||
73,835 | 80,696 | 73,237 | ||
132,399 | 125,263 | 120,820 | ||
3,160 | — 6,364 | — 15,126 | ||
— 56,997 | — 53,019 | — 57,606 | ||
42,379 | 37,533 | 47,935 | ||
97,419 | 95,323 | 81,791 | ||
22,288 | 23,213 | 28,786 | ||
— 23,178 | — 25,147 | — 38,311 | ||
30,386 | 32,702 | 31,370 | ||
67,780 | 72,577 | 95,659 | ||
35,731 | 44,098 | 24,397 | ||
— 7,754 | 0,426 | — 22,380 | ||
24,917 | 21,248 | 18,903 | ||
60,712 | 55,789 | 54,944 | ||
35,090 | 33,137 | 46,121 | ||
12,417 | 12,223 | 2,387 | ||
19,943 | 27,383 | 9,027 | ||
49,462 | 36,241 | 51,913 | ||
42,892 | 48,288 | 37,082 | ||
23,786 | 18,381 | 17,030 | ||
24,232 | 16,265 | 28,930 | ||
41,899 | 42,570 | 24,516 | ||
33,159 | 38,792 | 45,036 | ||
20,799 | 25,678 | 39,845 | ||
20,084 | 34,589 | 13,267 | ||
33,599 | 47,143 | 29,720 | ||
36,889 | 31,634 | 33,448 | ||
28,651 | 35,716 | 36,139 | ||
5. Нахождение минимума заданной целевой функции
Создадим математическую модель процесса с коэффициентами a1=8 и T=1 и подберем их таким образом, чтобы при данных значениях целевая функция была минимальна.
Выберем шаг h = 0.2. Точность EPSILON = 0.0001. Количество итераций ITERATION_AMOUNT = 1000.
Результаты пошагового приближения показаны в таблице 6 «Зависимость CF от значений a1 и T», график CF представлен на рис. 7
CF1min = 8,901 453
CF2min = 44,5 068
CF3min = 132,7882
Таблица 6. Зависимость CF от значений параметров a1 и T
№ шага | A1 | T | CF1 (m=0,005) | CF2 (m=0,01) | CF 3 (m=0,02) | |
1,884E+12 | 1,884E+12 | 1,884E+12 | ||||
1,884E+12 | 1,884E+12 | 1,884E+12 | ||||
7,8 | 1,784E+12 | 1,784E+12 | 1,784E+12 | |||
7,6 | 1,686E+12 | 1,686E+12 | 1,686E+12 | |||
7,4 | 1,591E+12 | 1,591E+12 | 1,591E+12 | |||
7,2 | 1,499E+12 | 1,499E+12 | 1,499E+12 | |||
1,409E+12 | 1,409E+12 | 1,409E+12 | ||||
6,8 | 1,323E+12 | 1,323E+12 | 1,323E+12 | |||
6,6 | 1,239E+12 | 1,239E+12 | 1,239E+12 | |||
6,4 | 1,158E+12 | 1,158E+12 | 1,158E+12 | |||
6,2 | 1,079E+12 | 1,079E+12 | 1,079E+12 | |||
1,004E+12 | 1,004E+12 | 1,004E+12 | ||||
5,8 | 9,309E+11 | 9,309E+11 | 9,309E+11 | |||
… | … | … | … | … | … | |
2,4 | 1,166E+11 | 1,166E+11 | 1,166E+11 | |||
2,2 | 9,359E+10 | 9,359E+10 | 9,359E+10 | |||
7,337E+10 | 7,337E+10 | 7,337E+10 | ||||
1,8 | 5,592E+10 | 5,592E+10 | 5,592E+10 | |||
1,6 | 4,124E+10 | 4,124E+10 | 4,124E+10 | |||
1,4 | 2,933E+10 | 2,933E+10 | 2,933E+10 | |||
1,2 | 2,019E+10 | 2,019E+10 | 2,019E+10 | |||
1,381E+10 | 1,381E+10 | 1,381E+10 | ||||
0,8 | 1,021E+10 | 1,021E+10 | 1,021E+10 | |||
0,6 | 9,37E+09 | 9,37E+09 | 9,371E+09 | |||
0,6 | 1,2 | 586 850,911 | 585 505,007 | 588 790,108 | ||
0,6 | 1,4 | 124 642,353 | 124 498,296 | 125 774,153 | ||
0,6 | 1,6 | 105 470,917 | 105 284,132 | 105 939,099 | ||
0,6 | 1,8 | 98 001,114 | 98 219,831 | 98 781,217 | ||
0,8 | 1,8 | 94 310,316 | 94 510,650 | 95 055,002 | ||
1,8 | 90 793,658 | 90 975,608 | 91 502,927 | |||
… | … | … | … | … | … | |
4,8 | 1,8 | 57 063,664 | 56 896,317 | 57 100,004 | ||
1,8 | 57 029,796 | 56 844,065 | 57 030,719 | |||
32 987,463 | 33 084,055 | 33 539,979 | ||||
5,2 | 30 410,132 | 30 504,267 | 30 945,503 | |||
5,4 | 27 937,650 | 28 029,328 | 28 455,877 | |||
5,6 | 25 570,018 | 25 659,237 | 26 071,099 | |||
5,8 | 23 307,234 | 23 393,996 | 23 791,170 | |||
21 149,300 | 21 233,604 | 21 616,090 | ||||
6,2 | 19 096,214 | 19 178,060 | 19 545,860 | |||
6,4 | 17 147,978 | 17 227,366 | 17 580,478 | |||
6,6 | 15 304,590 | 15 381,521 | 15 719,945 | |||
6,8 | 13 566,052 | 13 640,525 | 13 964,261 | |||
11 932,362 | 12 004,378 | 12 313,427 | ||||
7,2 | 10 403,522 | 10 473,079 | 10 767,441 | |||
7,4 | 8979,530 | 9046,630 | 9326,304 | |||
7,6 | 7660,388 | 7725,030 | 7990,017 | |||
7,8 | 6446,094 | 6508,279 | 6758,578 | |||
5336,650 | 5396,377 | 5631,989 | ||||
8,2 | 4332,055 | 4389,323 | 4610,248 | |||
8,4 | 3432,308 | 3487,119 | 3693,356 | |||
8,6 | 2637,411 | 2689,764 | 2881,314 | |||
8,8 | 1947,362 | 1997,258 | 2174,120 | |||
1362,163 | 1409,601 | 1571,776 | ||||
9,2 | 881,813 | 926,793 | 1074,280 | |||
9,4 | 506,311 | 548,834 | 681,634 | |||
9,6 | 235,659 | 275,724 | 393,836 | |||
9,8 | 69,856 | 107,463 | 210,888 | |||
8,901 | 44,051 | 132,788 | ||||
розенброк эйлер моделирование идентификация
Выводы
Ввиду того, что метод покоординатного спуска нулевого порядка, он довольно неточен. Из-за того, что функция Розенброка имеет овражный рельеф, дойти до точки минимума не удалось. Точка остановки в этом случае была довольно далеко от точки минимума. В случае с функцией Эллипса точка минимума была достигнута за 21 итерацию, при шаге h = 0.2. Несмотря на это точка минимума заданной целевой функции была достигнута абсолютно точно за 91 итерацию, при шаге h = 0.2, и точностью 0,0001.
Список источников
1. http://ru.wikipedia.org/wiki/Функция_Розенброка
2. http://nsft.narod.ru/Programming/colmetopt.html
3. http://www.mathworks.com
4. http://www.exponenta.ru/soft/matlab/potemkin/book/matlab/chapter0/00.asp
5. http://matlab.exponenta.ru
6. Н. Ю. Золотых. Использование пакета Matlab в научной и учебной работе — Нижний Новгород, 2006 — 165 с.