- •«Исследование динамических систем»
- •1 Идентификация обыкновенного линейного дифференциального уравнения 1го порядка
- •1.1 Постановка задачи
- •1.2 Описание используемых методов
- •1.2.1 Аппроксимация на смежных отрезках
- •1.2.1 Аппроксимация на скользящих интервалах
- •1.3 . Результаты решения задачи аппроксимации
- •1.3.1 Проведение идентификации в среде Excel
- •1.3.2 Проведение идентификации в среде Delphi
- •1.3.3 Проверка и сравнение результатов идентификации
- •1.4 Заключение
- •2 Исследование динамики системы
- •2.1 Постановка задачи
- •2.2 Запись конечно-разностных аналогов дифференциальных уравнений
- •2.3 Решение в среде Excel
- •2.4 Решение в среде Delphi
- •2.5 Заключение
- •Литература
- •Приложение 1
- •Приложение 2
1.3.2 Проведение идентификации в среде Delphi
Идентификация проводится на скользящих интервалах. Решение полученных СЛАУ проводится прямым методом Гаусса с выбором главного элемента с использованием процедуры Gauss. Блок-схема программы идентификации уравнения (1.1) отображен на рисунке 1.7.
Рисунок 1.6 - Блок-схема программы идентификации.
Процедура Aprox предназначена для определения коэффициентов аппроксимирующих полиномов одновременно для двух табулированных функций: Xp=f(T) и Yp=f(T). Например, при исследовании динамики систем с сосредоточенными параметрами аппроксимирующие полиномы имеют вид:
, (1.10)
где Xp – экспериментальное значение воздействия на объект;
Yp– экспериментальное значение реакции объекта;
T- независимая переменная (время);
Xа – значение воздействия полученное после аппроксимации;
Yа – значение реакции полученное после аппроксимации.
Кроме того процедура Aprox позволяет рассчитать значения оценки R2при аппроксимацииXa=f(T) иYa=f(T).
Обращение к процедуре Aprox:
Aprox(Kpol,N,T,Xp,Yp,A,B,Xa,Ya,YYa,R2X,R2Y), гдеKpol– порядок аппроксимирующего полинома,N– количество моментов времени на интервале аппроксимации,T– массив моментов времени,Xp,Yp– массивы экспериментальных значений воздействия и реакции объекта,A,B– массивы коэффициентов аппроксимирующих полиномов соответственно поYи Х,Xa,Ya– массивы восстановленных значений воздействия и реакции объекта,Yya– массив значений первой производнойdY/dT,R2X,R2Y– значения оценокR2.
Процедура Gram предназначена для формирования матрицы Грамма.
Обращение к процедуре Gram: Gram(N,A,X,Y,M,K), где N – количество точек табулированной функции, A – матрица Грамма размером (M,M+1), X,Y – массивы координат точек табулированной функции, M – порядок матрицы Грамма, K – порядок аппроксимирующего полинома.
Процедура Gauss предназначена для решения СЛАУ методом Гаусса с выбором главного элемента.
Обращение к процедуре Gauss: Gauss(M,A,R,S), где: M – порядок матрицы, A – матрица Грамма размером (M,M+1), R – вектор решения, S – признак вырожденности матрицы (если S=0 – матрица вырождена).
В рассматриваемой матрице последний столбец (A[1,M+1] A[M,M+1]) включает вектор правых частей. Такой прием используется для упрощения обмена данными.
Коды модулей mytype,myprocи программы идентификации находятся в приложении 1.
Листинг 1.1 – файл входных данных Input2.txt(98-Im- количество моментов времени):
98
0 0.079026449 0.501667346
0.15 0.10622325 0.447677751
0.3 0.138499826 0.386526046
0.45 0.13788454 0.35420348
0.6 0.189485068 0.331954398
0.75 0.196993615 0.300526266
0.9 0.230725577 0.312773117
1.05 0.279932506 0.288773898
1.2 0.303755923 0.307942562
1.35 0.340498286 0.311775233
1.5 0.374959839 0.298822723
1.65 0.398727903 0.308136894
1.8 0.441015489 0.325977208
1.95 0.474548901 0.362461887
2.1 0.525588665 0.365110127
2.25 0.555827746 0.40593886
2.4 0.607497288 0.417423274
2.55 0.636893568 0.439225549
2.7 0.68455503 0.491513625
2.85 0.705862969 0.505931151
3 0.731105601 0.550006033
3.15 0.772876999 0.581828493
3.3 0.795219123 0.608515909
3.45 0.83658372 0.643329313
3.6 0.87092047 0.646021182
3.75 0.889167462 0.693751697
3.9 0.901557147 0.72071805
4.05 0.918929339 0.742524725
4.2 0.948515085 0.782405754
4.35 0.953389349 0.809117124
4.5 0.975991503 0.835930137
4.65 0.997155906 0.839667657
4.8 0.983517147 0.855140072
4.95 1.011517758 0.879772499
5.1 0.985338388 0.889263961
5.25 0.998684655 0.910430137
5.4 0.988670935 0.936262835
5.55 0.98723971 0.938489609
5.7 0.972680041 0.95561191
5.85 0.961643117 0.93491654
6 0.950875733 0.949189615
6.15 0.941949642 0.945968465
6.3 0.908636223 0.958411608
6.45 0.889125143 0.928522701
6.6 0.881539995 0.917903871
6.75 0.858745038 0.912083805
6.9 0.81586003 0.908809591
7.05 0.79864723 0.90533751
7.2 0.743614405 0.885333274
7.35 0.720345983 0.856048179
7.5 0.687318001 0.829629803
7.65 0.646147722 0.824731774
7.8 0.615407351 0.77905528
7.95 0.578576697 0.776098255
8.1 0.539294444 0.749822655
8.25 0.504645078 0.716763802
8.4 0.459740515 0.667025672
8.55 0.431733584 0.645238811
8.7 0.391584047 0.601936767
8.85 0.363052024 0.587121244
9 0.331593636 0.544598142
9.15 0.292889164 0.52751885
9.3 0.265155276 0.490903523
9.45 0.212376768 0.434962062
9.6 0.189068505 0.401723392
9.75 0.154022434 0.390952373
9.9 0.148372463 0.342578685
10.05 0.113664024 0.320301297
10.2 0.076719165 0.289431372
10.35 0.079065779 0.249159844
10.5 0.056230099 0.22597681
10.65 0.031273339 0.195254918
10.8 0.033621625 0.19010005
10.95 0.02088132 0.15913252
11.1 0.008365614 0.150217253
11.25 -0.001554121 0.132808887
11.4 0.002796597 0.112677674
11.55 0.005327648 0.100891662
11.7 0.003927556 0.089982141
11.85 0.016760191 0.064358542
12 0.031101012 0.061839118
12.15 0.0423162 0.065677892
12.3 0.038444623 0.051734043
12.45 0.060449915 0.058773333
12.6 0.072821085 0.065369581
12.75 0.113426148 0.049163261
12.9 0.12004754 0.064504872
13.05 0.157556352 0.08048289
13.2 0.1989551 0.09545055
13.35 0.219404405 0.092729575
13.5 0.233161257 0.13063808
13.65 0.275617262 0.13193628
13.8 0.301944418 0.165629132
13.95 0.340208211 0.202672092
14.1 0.379400905 0.201790946
14.25 0.429813385 0.237133148
14.4 0.46389084 0.269908144
14.55 0.500352037 0.282499959
Листинг 1.2 – файл выходных результатов Output_1.txt:
Ne= 1 Jm=40 Kpol= 6
Ine= 1 Im= 97
T Xe Ye
0.00000 0.07903 0.50167
0.15000 0.10622 0.44768
0.30000 0.13850 0.38653
0.45000 0.13788 0.35420
0.60000 0.18949 0.33195
0.75000 0.19699 0.30053
0.90000 0.23073 0.31277
1.05000 0.27993 0.28877
1.20000 0.30376 0.30794
1.35000 0.34050 0.31178
1.50000 0.37496 0.29882
1.65000 0.39873 0.30814
1.80000 0.44102 0.32598
1.95000 0.47455 0.36246
2.10000 0.52559 0.36511
2.25000 0.55583 0.40594
2.40000 0.60750 0.41742
2.55000 0.63689 0.43923
2.70000 0.68456 0.49151
2.85000 0.70586 0.50593
3.00000 0.73111 0.55001
3.15000 0.77288 0.58183
3.30000 0.79522 0.60852
3.45000 0.83658 0.64333
3.60000 0.87092 0.64602
3.75000 0.88917 0.69375
3.90000 0.90156 0.72072
4.05000 0.91893 0.74252
4.20000 0.94852 0.78241
4.35000 0.95339 0.80912
4.50000 0.97599 0.83593
4.65000 0.99716 0.83967
4.80000 0.98352 0.85514
4.95000 1.01152 0.87977
5.10000 0.98534 0.88926
5.25000 0.99868 0.91043
5.40000 0.98867 0.93626
5.55000 0.98724 0.93849
5.70000 0.97268 0.95561
5.85000 0.96164 0.93492
6.00000 0.95088 0.94919
6.15000 0.94195 0.94597
6.30000 0.90864 0.95841
6.45000 0.88913 0.92852
6.60000 0.88154 0.91790
6.75000 0.85875 0.91208
6.90000 0.81586 0.90881
7.05000 0.79865 0.90534
7.20000 0.74361 0.88533
7.35000 0.72035 0.85605
7.50000 0.68732 0.82963
7.65000 0.64615 0.82473
7.80000 0.61541 0.77906
7.95000 0.57858 0.77610
8.10000 0.53929 0.74982
8.25000 0.50465 0.71676
8.40000 0.45974 0.66703
8.55000 0.43173 0.64524
8.70000 0.39158 0.60194
8.85000 0.36305 0.58712
9.00000 0.33159 0.54460
9.15000 0.29289 0.52752
9.30000 0.26516 0.49090
9.45000 0.21238 0.43496
9.60000 0.18907 0.40172
9.75000 0.15402 0.39095
9.90000 0.14837 0.34258
10.05000 0.11366 0.32030
10.20000 0.07672 0.28943
10.35000 0.07907 0.24916
10.50000 0.05623 0.22598
10.65000 0.03127 0.19525
10.80000 0.03362 0.19010
10.95000 0.02088 0.15913
11.10000 0.00837 0.15022
11.25000 -0.00155 0.13281
11.40000 0.00280 0.11268
11.55000 0.00533 0.10089
11.70000 0.00393 0.08998
11.85000 0.01676 0.06436
12.00000 0.03110 0.06184
12.15000 0.04232 0.06568
12.30000 0.03844 0.05173
12.45000 0.06045 0.05877
12.60000 0.07282 0.06537
12.75000 0.11343 0.04916
12.90000 0.12005 0.06450
13.05000 0.15756 0.08048
13.20000 0.19896 0.09545
13.35000 0.21940 0.09273
13.50000 0.23316 0.13064
13.65000 0.27562 0.13194
13.80000 0.30194 0.16563
13.95000 0.34021 0.20267
14.10000 0.37940 0.20179
14.25000 0.42981 0.23713
14.40000 0.46389 0.26991
14.55000 0.50035 0.28250
A= 1.00296 K= 1.00337
R2Xmin=0.997 R2Ymin=0.995