Аппаратно-программный комплекс для идентификации объектов управления на основе вещественного интерполяционного метода

Разработка аппаратно-программного комплекса для осуществления идентификации объектов управления на основе вещественного интерполяционного метода. Анализ работоспособности аппаратно-программного комплекса, пример идентификации объекта управления.

Рубрика Программирование, компьютеры и кибернетика
Вид магистерская работа
Язык русский
Дата добавления 11.11.2013
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 29.

Графики абсолютной и относительной ошибок (рисунок 30).

Исходные и полученные данные сведены в таблицу 4.

Таблица 4 - Данные идентификации структурой 3 для примера 1

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

0,021

b0=0,9965

b1= - 48,259

b2=0

a0=1

a1=-23,1388

a2= - 1229,3811

a3=0

326

0,05

10

0,05

0,1

b0=0,9965

b1=0,0168

b2=0

a0=1

a1=24,8699

a2=9,6057

a3=0

0,0034

Проведем идентификацию, используя модель структуры 4:

Найденные программой коэффициенты, при

Полученное решение представлено на рисунке 31.

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

Интервал поиска с шагом равным 0,05. как и для случая первой структуры модели. При данных начальных условиях итерационного поиска первый узел интерполяционной сетки равен , при котором абсолютная ошибка минимальна и равна 0,0033. График зависимости ошибки от расположения первого узла интерполяционной сетки приведен на рисунке 32. Из графика видно, что минимальная ошибка лежит в области нуля. Следовательно, можно изменить интервал поиска , увеличив частоту шага. Первый узел интерполирования будет найден более точно , а абсолютная ошибка при этом составит 0,0032.

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 33.

Графики абсолютной и относительной ошибок (рисунок 34).

Из рисунка 33 видно, что график переходного процесса, полученный после идентификации, представляет плавную кривую, практически совпадающую с исходным графиком.

Исходные и полученные данные сведены в таблицу 5.

Таблица 5 - Данные идентификации структурой 4 для примера 1

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

0,021

b0=0,9965

b1= b2=0

a0=1

a1=42,6727

a2= - 680,6485

a3=6460,8246

1000

0,05

10

0,05

0,05

b0=0,9965

b1= b2=0

a0=1

a1=24,88

a2=8,9382

a3=0,3752

0,0033

Проведем идентификацию, модель структуры 5:

Найденные программой коэффициенты, при

График переходного процесса, полученный после идентификации, представляет плавную кривую, совпадающую на начальном и среднем участках с исходным графиком, расхождения и максимальная ошибка приходиться на конечный участок. Полученное решение представлено на рисунке 35. Значение коэффициентов отрицательные, что соответствует неустойчивой системе, поэтому полученные значения коэффициентов являются неудовлетворительными. Для нахождения оптимальных значений необходимо воспользоваться итерационным поиском первого узла интерполирования, при котором ошибка будет наименьшей.

Интервал поиска с шагом равным 0,05, как и для случая первой структуры модели. При данных начальных условиях итерационного поиска первый узел интерполяционной сетки равен , при котором абсолютная ошибка минимальна и равна 0,011. График зависимости ошибки от расположения первого узла интерполяционной сетки приведен на рисунке 35.

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

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 36.

Графики абсолютной и относительной ошибок (рисунок 37).

Исходные и полученные данные сведены в таблицу 6.

Таблица 6 - Данные идентификации структурой 5 для примера 1

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

0,021

b0=0,9965

b1= - 54,4526

b2=0

a0=1

a1=-31,5851

a2= - 1299,8059

a3=-829,1875

0,1

0,05

10

0,05

0,05

b0=0,9965

b1=0,165 b2=0

a0=1

a1=25,4488

a2=3,0248

a3=0,0469

0,011

Проведем идентификацию, модель структуры 6:

Найденные программой коэффициенты, при

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

Интервал поиска с шагом равным 0,05, как и для случая первой структуры модели. При данных начальных условиях итерационного поиска первый узел интерполяционной сетки равен , при котором абсолютная ошибка минимальна и равна 0,0032. График зависимости ошибки от расположения первого узла интерполяционной сетки приведен на рисунке 38. Из графика видно, что минимальная ошибка лежит в области нуля. Следовательно, можно изменить интервал поиска , увеличив частоту шага. Первый узел интерполирования остался без изменений.

Найденные программой коэффициенты:

График переходного процесса, полученный после идентификации, представляет плавную кривую, совпадающую на начальном, среднем и конечном участках с исходным графиком идентифицируемого ОУ. Полученное решение представлено на рисунке 39.

Графики абсолютной и относительной ошибок (рисунок 40).

Исходные и полученные данные сведены в таблицу 7.

Таблица 7 - Данные идентификации структурой 6 для примера 1

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

0,021

b0=0,9965

b1= - 44,5407

b2=-1004,3125

a0=1

a1=-25,5393

a2= - 1904,4562

a3=-2786,2311

0,1

0,05

10

0,05

0,05

b0=0,9965

b1=6,7578 b2=0,6217

a0=1

a1=31,5941

a2=77,8365

a3=42,6116

0,0032

Проанализируем полученные результаты. Для этого объединим в сводную таблицу 8 данные по итерационному поиску, для всех шести структур.

Таблица 8 - Сводные данные

Структура

Решение

Ошибка

1

b0=0,99654; b1= b2=0; a0=1; a1=25,3806; a2= a3=0

0,01

2

b0=0,99654; b1= b2=0; a0=1; a1=24,6772; a2=9,5923; a3=0

0,0032

3

b0=0,9965; b1=0,0168; b2=0; a0=1

a1=24,8699; a2=9,6057; a3=0

0,0034

4

b0=0,9965; b1= b2=0; a0=1; a1=24,88; a2=8,9382; a3=0,3752

0,0033

5

b0=0,9965; b1=0,165 b2=0; a0=1

a1=25,4488; a2=3,0248; a3=0,0469

0,011

6

b0=0,9965; b1=6,7578; b2=0,6217;

a0=1; a1=31,5941; a2=77,8365;

a3=42,6116

0,0032

Поскольку идентифицируемая переходная характеристика объекта соответствует апериодическому звену второго порядка, то предпочтительно начинать перебор с ПФ первого порядка, увеличивая степень полиномов знаменателя и числителя до тех пор, пока точность восстановления временной характеристики не достигнет заданного уровня.

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

Следующим примером для анализа выберем апериодическое звено первого порядка [16], заданного в виде ПФ:

График переходного процесса представлен на рисунке 40.

Согласно формуле (6) рассчитаем :

Проведем идентификацию, используя модель структуры 1:

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 41.

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

Установленные значения: интервал поиска с шагом равным 0,01. При данных начальных условиях итерационного поиска был найден первый узел интерполяционной сетки , при котором абсолютная ошибка минимальна и равна 0,011. График зависимости ошибки от расположения первого узла интерполяционной сетки приведен на рисунке 43.

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 44.

Из рисунка 44 видно, что график переходного процесса, полученный после идентификации, представляет плавную кривую, практически совпадающую с исходным графиком. Графики абсолютной и относительной ошибок приведены на рисунке 45.

Исходные и полученные данные сведены в таблицу 9.

Таблица 9 - Данные идентификации структурой 1 для примера 2

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

0,024

b0=0,9917

b1= b2=0

a0=1

a1=30,8555

a2= a3=0

0,07

0,01

1

0,01

0,07

b0=0,9917

b1= b2=0

a0=1

a1=24,7158

a2= a3=0

0,007

Проведем идентификацию, используя модель структуры 2:

Найденные программой коэффициенты, при

Значение коэффициента является отрицательным, что соответствует неустойчивой системе, поэтому полученные значения коэффициентов являются неудовлетворительными. Для нахождения оптимальных значений необходимо воспользоваться итерационным поиском первого узла интерполирования, при котором ошибка будет наименьшей (рисунок 46). Интервал поиска с шагом равным 0,01, как и для случая первой структуры модели. При данных начальных условиях итерационного поиска первый узел интерполяционной сетки равен , при котором абсолютная ошибка минимальна и равна 0,0068.

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 47.

Из рисунка 47 видно, что график переходного процесса, полученный после идентификации, представляет плавную кривую, практически совпадающую с исходным графиком. На рисунке 48 представлены графики абсолютной и относительной ошибок.

Исходные и полученные данные сведены в таблицу 10.

Таблица 10 - Данные идентификации структурой 2 для примера 2

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

0,024

b0=0,9917

b1= b2=0

a0=1

a1=36,7713

a2= - 246,4952

a3=0

247

0,01

1

0,01

0,45

b0=0,9917

b1= b2=0

a0=1

a1=24, 2074

a2=1,9819

a3=0

0,0068

Для структур 3 и 4 зависимости переходной характеристики от расположения первого узла интерполирования, оптимальные графики переходного процесса, полученные после идентификации, а так же графики ошибок приведены на рисунках 49-54. В данном примере в качестве модели объекта была взята ПФ апериодического звена первого порядка, поэтому идентификация структурами 5 и 6 не проводилась, поскольку были получены оптимальные результаты при использовании структур с меньшими значениями степеней полиномов.

Данные полученные при идентификации с использованием 3 и 4 структур представлены в таблице 11.

Таблица 11 - Данные идентификации структурами 3 и 4 для примера 2

Структура

Решение

нач

кон

Шаг

Ошибка

b0=0,9917; b1=0,965; b2=0; a0=1

a1=25,6; a2=25,1887; a3=0

0,01

1

0,01

0,08

0,007

b0=0,9917;

b1= b2=0; a0=1; a1=24,6477; a2=0,9107; a3=0,0126

0,01

1

0,01

0,1

0,0075

Оптимальный результат получается, если проводить идентификацию любой из 1-4 структур, разница ошибки составляет тысячные доли, поэтому целесообразно проводить идентификацию при помощи первой структуры, так как сокращается объем вычислений, поскольку процедура идентификации происходит за два-три шага.

Следующим примером для анализа выберем звено с колебательностью [16], заданное в виде ПФ:

График переходного процесса представлен на рисунке 55.

Согласно формуле (6) рассчитаем :

Исходя из условия минимальной сложности, так как переходная характеристика имеет колебательный вид - целесообразно начинать перебор структур со второй.

Проведем идентификацию, используя модель структуры 2:

.

Найденные программой коэффициенты, при

Полученное решение представлено на рисунке 56.

В данном случае абсолютная ошибка составляет 0,3, графики абсолютной и относительной ошибок приведены на рисунке 57.

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

Установленные значения: интервал поиска с шагом равным 0,05. При данных начальных условиях итерационного поиска был найден первый узел интерполяционной сетки , при котором абсолютная ошибка минимальна и равна 0,02. График зависимости ошибки от расположения первого узла интерполяционной сетки приведен на рисунке 58. Из графика видно, что минимальная ошибка лежит в области нуля. Следовательно, можно изменить интервал поиска , увеличив частоту шага. Первый узел интерполирования остался точно таким же.

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 59.

Из рисунка 59 видно, что график переходного процесса, полученный после идентификации, представляет плавную кривую, практически совпадающую с исходным графиком, за исключением последнего участка. На рисунке 60 приведены графики абсолютной и относительной ошибок.

Исходные и полученные данные сведены в таблицу 12.

Таблица 12 - Данные идентификации структурой 2 для примера 3

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

0,07

b0=0,9776

b1= b2=0

a0=1

a1=1,6511

a2=7,9277

a3=0

0,3

0,01

1

0,01

0,85

b0=0,9776

b1= b2=0

a0=1

a1=4,7418

a2=24,4665

a3=0

0,02

Для структур 3-6 зависимости переходной характеристики от расположения первого узла интерполирования, оптимальные графики переходного процесса, полученные после идентификации, а так же графики ошибок приведены на рисунках 61-72.

Данные полученные при идентификации с использованием 3-6 структур представлены в таблице 13.

Таблица 13 - Данные идентификации структурами 3-6 для примера 3

Структура

Решение

нач

кон

Шаг

Ошибка

b0=0,9776; b1=0,0088; b2=0; a0=1;

a1=4,6408; a2=24,8218; a3=0

0,01

1

0,01

0,74

0,02

b0=0,9776;

b1= b2=0; a0=1; a1=4,7543; a2=24,4384; a3=0,0129

0,01

1

0,01

0,74

0,029

b0=0,9776; b1=192,9972;

b2=0; a0=1

a1=197,9387; a2=969,3639; a3=4825,6878

0,01

1

0,01

0,25

0,004

b0=0,9776; b1=15,4538; b2=0,0081;

a0=1; a1=20,0915; a2=100, 5456;

a3=385,857

0,01

1

0,01

0,25

0,02

Наименьшая ошибка получается, если проводить идентификацию структурой 5. При идентификации другими структурами разница ошибки составляет тысячные доли, следовательно, порядок структуры выбирается исходя из условия минимальной сложности, так оптимальным решением может быть вторая и третья структуры.

3.2 Пример идентификации реального объекта управления

Пример 4. Снятые с объекта значения времени t переходного процесса и соответствующие им значения выходного сигнала h (t) представлены в виде таблицы и сведены в текстовый файл "Charect. txt" на электронном носителе.

Таблица 14 иллюстрирует часть данных, из текстового файла.

Таблица 14 - Значения, снятые с реального ОУ

t

0

0.115167

0.230334

0.2766165

0.3419725

0.361046

0.379166

h (t)

0

90.13

324.835

580.455

691.5

738.97

807.12

t

0.41384

0.461657

0.5077245

0.536491

0.5643795

0.578306

0.5915425

h (t)

866.97

916.44

960.805

1004.045

1043.775

1075.7

1105.165

t

0.618107

0.6441545

0.6696825

0.69475

0.719398

0.743669

0.618107

h (t)

1129.35

1152.365

1175.205

1197.34

1217.17

1236.58

1129.35

t

0.7675975

0.8030015

0.826359

0.8491715

0.871984

0.894264

0.916544

h (t)

1253.78

1269.55

1284.465

1299.675

1315.13

1331.39

1346.565

t

0.9273545

0.9491545

0.9707345

0.9921005

1.013271

1.044478

1.06529

h (t)

1361.9

1376.245

1390.655

1404.21

1417.53

1429.795

1441.91

t

1.0757095

1.1064685

1.126808

1.136735

1.156798

1.1767335

1.1965445

h (t)

1453.435

1464.735

1475.11

1485.695

1495.445

1505.29

1514.47

t

1.216241

1.235827

1.2553065

1.27469

1.3036965

1.322898

1.341941

h (t)

1523.515

1531.905

1540.525

1547.925

1555.465

1562.595

1550.335

t

1.360984

1.3703705

1.3893805

1.408299

1.4271265

1.455359

1.474059

h (t)

1556.57

1577.28

1578.355

1586.21

1593.64

1598.305

1604.485

Исходной информацией будет являться воссозданный по этим данным график переходного процесса приведенный на рисунке 73.

Проведем идентификацию, используя модель структуры 1:

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 74.

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

Установленные значения: интервал поиска с шагом равным 0,05. При данных начальных условиях итерационного поиска был найден первый узел интерполяционной сетки , при котором абсолютная ошибка минимальна и равна 300. График зависимости ошибки от расположения первого узла интерполяционной сетки приведен на рисунке 75. Из графика видно, что минимальная ошибка лежит в области нуля. Следовательно, можно изменить интервал поиска , увеличив частоту шага. Первый узел интерполирования будет найден более точно , а абсолютная ошибка при этом составит 219.

Найденные программой коэффициенты:

Полученное решение представлено на рисунке 76.

Графики абсолютной и относительной ошибок (рисунок 77).

Исходные и полученные данные сведены в таблицу 15.

Таблица 15 - Данные идентификации структурой 1 для примера 4

Первое приближение

Итерационный поиск

Решение

Ошибка

нач

кон

Шаг

Решение

Ошибка

2,3

b0=5316,05

b1= b2=0

a0=1

a1=0,4735

a2= a3=0

300

0,01

1

0,01

0,88

b0=5316,05

b1= b2=0

a0=1

a1=0,4738

a2= a3=0

219

Для структур 2-4 зависимости переходной характеристики от расположения первого узла интерполирования, оптимальные графики переходного процесса, полученные после идентификации, а так же графики ошибок приведены на рисунках 78-86.

Данные полученные при идентификации с использованием 2-4 структур представлены в таблице 16.

Таблица 16 - Данные идентификации структурами 2-4 для примера 4

Структура

Решение

нач

кн

Шаг

Ошибка

b0=5316,05;

b1= b2=0; a0=1;

a1=0,4341; a2=0,0153; a3=0

0,01

2

0,01

1,02

95,8

b0=5316,05; b1=85,8272; b2=0; a0=1; a1=0,4302; a2=0,0161; a3=0

0,01

2

0,01

1,1

178,9

b0=5316,05;

b1= b2=0; a0=1; a1=0,4184; a2=0,022; a3=0,004

0,01

2

0,01

1,1

190,5

Из таблицы видно, что наименьшая ошибка получается, если проводить идентификацию 2 структурой, так как в данном случае не будет избыточных коэффициентов.

Заключение

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

Решение задачи идентификации с помощью вещественного интерполяционного метода, позволяет получать математическую модель объекта, при этом вычислительные затраты достаточно малы, а вмешательство в режим его нормального функционирования - минимально.

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

Данная выпускная квалификационная работа выполнена в полном объеме в соответствии с техническим заданием.

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

Список использованных источников

1. Гончаров В.И. Синтез электромеханических исполнительных систем промышленных роботов. - Томск: Изд-во ТПУ, 2002. - 100 с.

2. Электронный ресурс - Электрон. дан. - Режим доступа: http://www.philosoft.ru/apks. zhtml

3. Методы классической и современной теории автоматического управления: синтез регуляторов и теория оптимизации систем автоматического управления / под ред Н.Д. Егупова. - М.: МГТУ им Баумана, 2000. - 736 с.

4. Эйкхофф П. Основы идентификации систем управления. - М.: Изд-во "Мир", 1975. - 683 с.

5. Sage A. P. System identification / A. P. Sage, J. L. Melsa. - N. Y.: Academic press, 1974. - 532 p.

6. Способ оптимальной автоматической настройки системы управления - патент РФ №2001103023, МПК G05B13/00 - опубл.10.02.2003.

7. Еремин Д.М. Идентификация динамических объектов управления с применением нейронных сетей // Автоматическое управление и интеллектуальные системы: межвуз. сб. научн. тр. МИРЭА. - М.: 1996. - с.77 - 82.

8. Замятин С.В., Плотников Д.А., Гончаров В.И. Идентификация нелинейных объектов на основе вещественного интерполяционного метода // Известия Томского политехнического университета. 2008. Т312. - № 5.

9. Рудницкий В.А. Разработка и исследование алгоритмического и программного обеспечения идентификатора на основе вещественного интерполяционного метода: автореф. дис. канд. техн. наук - Томск, 2002. - 20 с.

10. Nikolaeva N. S., Shilnikova A. A., Yurova M. V. Application of the real interpolation method for identification of nonlinear objects // Автоматизация, мехатроника, информационные технологии: материалы I Международной научно-технической интернет-конференции молодых ученых. - Омск: ОмГТУ, 2010. - 200 с.

11. Справочник по теории автоматического управления / Под редакцией А.А. Красовского. - М.: Наука, 1987. - 712 с.

12. Алексеев А.С. Вещественный интерполяционный метод в задачах автоматического управления / А.С. Алексеев, А.А. Антропов, В.И. Гончаров, С.В. Замятин, В.А. Рудницкий. - Томск: Изд-во Томского политехнического университета, 2010. - 227 с.

13. Электронный ресурс - Электрон. дан. - Режим доступа: www.atmel.ru

14. Электронный ресурс - Электрон. дан. - Режим доступа: http://www.mathworks.com/help/toolbox/compiler/f12-999353.html

15. Электронный ресурс - Электрон. дан. - Режим доступа: http://www.ftdichip.com

16. Бесекерский В.А., Попов Е.П. Теория систем автоматического регулирования. - М.: Наука, 1975.

17. Ким Д.П. Теория автоматического управления. Линейные системы. - М.: Физматлит, 2007. - 310 с.

18. Алексеев А.С. Самонастройка регуляторов исполнительных подсистем мехатронных устройств: автореф. дис. канд. техн. наук - Томск, 2010. - 20 с.

19. Гончаров В.И., Лиепиньш А.В., Рудницкий В.А. Получение машинноориентированных моделей объектов управления в адаптивных системах // Компьютерные технологии в науке, проектировании и производстве: тезисы докладов II Всероссийской научно-технической конференции, часть VIII - 3-4 февраля 2000 г, Нижний Новгород. - Нижний Новгород: Нижегородский государственный технический университет, 2000. - с.39.

20. Морозов, Е.А. Каноническое интегрирование в проектировании динамических систем. - Екатеринбург, Ижевск: ИЭ УрО РАН, 2006. - 197 с.

21. Goncharov V. System identification based of the real interpolation method / V. Goncharov, A. Liepinsh, W.rudnicki. - Wroclaw: Oficyna Wydawnicza Politechniki Wroclawskies, 2001. - 234-239 p.

22. Иванова Е.Н., Рудницкий В.А. Применение аппарата обусловленности при решении задач идентификации на основе вещественного интерполяционного метода // Молодежь и современные информационные технологии: сборник трудов VI Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых - Томск, 26-28 февраля 2008. - Томск: СПб Графикс, 2008. - с.400 - 402.

23. Антропов А.Т., Удод А.С. Идентификация объектов с помощью вещественного интерполяционного метода // Проектирование инженерных и научных приложений в MATLAB: сборник трудов II научной конференции - М., 2004. - с.784 - 796.

24. Богомолов Е.Н., Николаева Н.С., Шильникова А.А. Программное обеспечение для идентификации объектов управления // Молодежь и современные информационные технологии. Сборник трудов IX Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых "Молодежь и современные информационные технологии". Томск, 11-13 мая 2011, ч.2. Томск: СПБ Графикс, 2011. - 247 с.

25. Богомолов Е.Н., Николаева Н.С., Шильникова А.А. Вещественный интерполяционный метод идентификации объектов // Автоматика Информатика. Караганда: КарГТУ, 2010. - № 1-2 (26-27).

26. Лазарев Ю.Ф. Начало программирования в среде MatLAB. - К.: НТУУ "КПИ", 2003. - 424 с.

Приложение Б. Основные функции программы (справочное)

Основные функции программы

function inObjectData=Transfer_ch_cr (inObjectData)

b0=inObjectData. b0;

b1=inObjectData. b1;

b2=inObjectData. b2;

a0=inObjectData. a0;

a1=inObjectData. a1;

a2=inObjectData. a2;

a3=inObjectData. a3;

Tp=inObjectData. TimeResponse;

inObjectData. rTimeSliceNumbers=inObjectData. TimePointNumbers-1;

TSN=inObjectData. rTimeSliceNumbers;

TTS=Tp/TSN;

inObjectData. rTimeArray=0: TTS: Tp;

for i=1: 1: TSN

inObjectData. rTimeSliceArray (i) =TTS;

end

Wm=tf ([b2 b1 b0], [a3 a2 a1 a0]);

Hdt_temp=step (Wm, inObjectData. rTimeArray);

inObjectData. rCharacteristicArray=Hdt_temp. ';

function inObjectData=Transfer_ch_frfile (FullName)

F=fopen (FullName,'rt');

k=0;

while feof (F) ==0

k=k+1;

fgetl (F);

end

frewind (F);

Time=zeros (1,k);

Rpm=zeros (1,k);

for i=1: k

Time (i) = fscanf (F,'%g',1);

Rpm (i) = fscanf (F,'%g',1);

end;

fclose (F);

Npoints=length (Time);

Tp=zeros (1,Npoints);

Tp=Time (Npoints);

Hsteady_state=Rpm (Npoints);

N=Npoints;

for i=1: 1: Npoints-1

D (i) =Time (i+1) - Time (i);

end

inObjectData. rCharacteristicArray=Rpm;

inObjectData. TimePointNumbers=length (Time);

inObjectData. rTimeSliceNumbers=length (Time) - 1;

inObjectData. rTimeArray=Time;

inObjectData. rTimeSliceArray=D;

end

function NumericalResponse = ObjNumericalResponse (inObjectData, DeltaArray)

b0 =inObjectData. rCharacteristicArray (inObjectData. TimePointNumbers);

Hdt =inObjectData. rCharacteristicArray;

SpaceNumbers =inObjectData. rTimeSliceNumbers;

TimePointNumbers =inObjectData. TimePointNumbers;

dt =inObjectData. rTimeArray;

D =inObjectData. rTimeSliceArray;

iend =length (DeltaArray);

dh =zeros (1, iend);

t_compearData. iend=iend;

t_compearData. SpaceNumbers=SpaceNumbers;

for i=1: 1: iend

sum=0;

Rsum=0;

for j=1: 1: SpaceNumbers

t_compearData. Hdt (i,j) =Hdt (j);

t_compearData. D (i,j) =D (j);

t_compearData. DeltaArray (i) =DeltaArray (i);

t_compearData. dt (i,j) =dt (j);

sum=sum+ (.

(Hdt (j)) *D (j).

*exp (-DeltaArray (i) *dt (j)));

t_compearData. sum=sum;

end

Rsum (i) =b0*exp (-DeltaArray (i) *dt (SpaceNumbers));

t_compearData. Rsum (i) =Rsum (i);

dh (i) =sum+Rsum (i);

t_compearData. dh (i) =dh (i);

end

NumericalResponse=dh;

function ModelData = Identification (inObjectData, vec_delta,mExpDen, mExpNum)

Npoints = inObjectData. TimePointNumbers;

rTimeArray=inObjectData. rTimeArray;

[mNumAr,mDenAr] =Identification_koef (mExpNum,mExpDen, inObjectData,vec_delta);

ModelData. mNumAr=mNumAr;

ModelData. mDenAr=mDenAr;

Ht=zeros (1,Npoints);

for count=1: 1: Npoints

Ht (count) =MyILaplaceII ([mDenAr 0], mNumAr, rTimeArray (count));

end

ModelData. mHt=Ht;

function Numerical_Delta_Derivation (hObject, eventdata, handles)

global inObjectData ModelData M N

DELTA=str2num (get (handles. Edit_Delta,'string'));

delta_start=str2num (get (handles. Edit_delta_start,'string'));

delta_step=str2num (get (handles. Edit_delta_step,'string'));

delta_end=str2num (get (handles. Edit_delta_end,'string'));

delta_iter=delta_start: delta_step: delta_end;

iend=length (delta_iter);

k=1;

vec_delta=zeros (1,5);

for i=1: 1: iend

j=1: 1: 5;

vec_delta (j) =delta_iter (i) *j;

[ModelData] =Identification (inObjectData,vec_delta,N,M);

if all (ModelData. mDenAr>=0) %ita1 (i) >=0&&ita2 (i) >=0&&ita3 (i) >=0

Derivation (k) =Maximum_deviation (ModelData, inObjectData);

Delta_iter_mass (k) =delta_iter (i); %*10;

k=k+1;

end

end

k=1;

[min_Derivation,n] =min (Derivation);

min_Der_delta=Delta_iter_mass (n);

set (handles. Edit_min_Derivation,'string',num2str (min_Derivation));

set (handles. Edit_min_Der_Delta1,'string',num2str (min_Der_delta));

set (handles. Edit_Delta1,'string',num2str (min_Der_delta));

NumErrDev=figure ('Name','Гафик зависимости погрешности от расположения первого узла');

plot (Delta_iter_mass,Derivation);

xlabel ('\delta1','FontSize',12,'FontWeight','Bold');

ylabel ('\Deltah (\delta1) ','FontSize',12,'FontWeight','Bold');

function [AbsErr,LimY1,RelErr,LimY2] = ErrorGraphData (ModelData, ObjectData)

Hdt=ObjectData. rCharacteristicArray;

Ht=ModelData. mHt;

sum1=0;

sum2=0;

average1=0;

average2=0;

LimY1=0;

LimY2=0;

count=length (Ht);

RelErr=zeros (1,count);

AbsErr=zeros (1,count);

for i=1: count

AbsErr (i) = Hdt (i) - Ht (i);

sum1=sum1+AbsErr (i);

end

for i=1: count

if (Hdt (i) ==0) && (Ht (i) ==0)

RelErr (i) =0;

else

RelErr (i) = ( (Hdt (i) - Ht (i)) /Hdt (i)) *100;

if RelErr (i) ==-inf

RelErr (i) =-realmax;

elseif RelErr (i) ==inf

RelErr (i) =realmax;

else

sum2=sum2+RelErr (i);

end

end

end

average1=abs (sum1/count);

if average1==0

LimY1=1;

else

LimY1=average1+average1*1.5;

end

average2=abs (sum2/count);

if average2==0

LimY2=1;

else

LimY2=average2+average2*1.5;

end

end

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.