Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123

Идентификация объекта регрессионным МНК

17.12.2014, 15:31. Показов 3040. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,

по аналогии из книги Дигиленской А.Н. "Идентификация объектов управления", написал идентификатор для модели первого порядка используя разностное уравнение вида:

y(k) = a*y(k-1) + b* u(k-1)

где a = T/ (T+dt) b = K*dt/(T+dt) , dt - шаг дискретизации.

вот код:

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
s1=tf([2],[25 1])% передаточная функция непрерывной модели объекта
T_end=60; % интервал измерений
dt=0.2; % шаг дискретизации
t=0:dt:T_end; % массив дискретного времени
N=length(t); % размер выборки
u=ones(N,1); % единичное входное воздействие
v=0.1*randn(N,1); %моделирование помехи (при учете) в виде белого шума
y=lsim(s1,u,t); %+v; % выходная величина
% формирование по исходным данным суммирующих коэффициентов
S2=sum(y(2:N).*y(1:N-1));
S1=sum(y(1:N-1).^2);
S3=sum(y(2:N).*u(1:N-1));
S4=sum(y(1:N-1).*u(1:N-1));
S5=sum(u(1:N-1).^2);
A=[S1 S4; S4 S5];
B=[S2 S3]';
betta=inv(A)*B;
T= - dt*betta(1)/(betta(1) - 1)
K = betta(2)*(T+dt)/dt
s2=tf([K],[T 1]);
y2=lsim(s2,u,t);
plot(t,y,t,y2,':'); % сравнение переходных характеристик объекта и модели
grid;
Понятно, что если ввести задержку, то разностное уравнение примет вид:
y(k) = a*y(k-1) + b*u(k - tau)

Непонятно, как оценить эту транспортную задержку (tau).

Буду признателен за разъяснения и помощь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2014, 15:31
Ответы с готовыми решениями:

Идентификация объекта средствами System Identification
Добрый день, возникла проблема понимания, что есть что в System Identification toolbox, несмотря на прочитанную доку и просмотренные...

Идентификация объекта управления по методу наименьших квадрантов
прога пишется в матлабе: %задаюсь значениями для трансфер функции объекта s1 ( это то что пишется в комадной строке матлаба ) num=2; ...

Идентификация объекта управления по методу наименьших квадрантов (2-й вариант)
%задаюсь значениями для трансфер функции объекта s1 ( это то что пишется в комадной строке матлаба ) num=25; den=; %задаюсь трансфер...

11
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
18.12.2014, 08:18
Цитата Сообщение от ustus_alex Посмотреть сообщение
Непонятно, как оценить эту транспортную задержку (tau).
Может, тут дело не в MATLAB, а в теории управления
0
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123
18.12.2014, 10:46  [ТС]
Может, тут дело не в MATLAB, а в теории управления
Совершенно верно, проблема связана с отсутствием понимания некоторых ее нюансов...

Если сможете объяснить, буду только признателен..
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
18.12.2014, 21:27
К сожалению, я не специалист в теории управлении, а если конкретно, занимаюсь теорией дифракции и обработкой снимков дифракционных пиков.
0
4 / 4 / 1
Регистрация: 02.12.2014
Сообщений: 33
19.12.2014, 05:36
Обычно задержку видно из эксперементальных данных, поэтому по эксперементальным точкам сначала строится кривая, по ней оценивается задержка, и предполагаемая структура системы, далее задержка отбрасывается, идентифицируется ПФ объекта, и к нему добавляется задержка.
P.S. А как были рассчитаны коэффициенты a и b?
0
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123
19.12.2014, 11:26  [ТС]
Цитата Сообщение от alxnrdch Посмотреть сообщение
Обычно задержку видно из эксперементальных данных, поэтому по эксперементальным точкам сначала строится кривая, по ней оценивается задержка, и предполагаемая структура системы, далее задержка отбрасывается, идентифицируется ПФ объекта, и к нему добавляется задержка.
P.S. А как были рассчитаны коэффициенты a и b?
Конечно же она видна из экспериментальных данных, и именно так сейчас и поступаю или на глаз или с помощью system identinfication toolbox. Мои объекты (ТЭН и теплообменник) оба первого порядка с задержками.

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

Коеффициентам а и b в программе соответствуют значения betta(1) и betta(2).
0
4 / 4 / 1
Регистрация: 02.12.2014
Сообщений: 33
19.12.2014, 11:57
Цитата Сообщение от ustus_alex Посмотреть сообщение
Коеффициентам а и b в программе соответствуют значения betta(1) и betta(2).
Не, я про то, как получились формулы которые переводят параметры a и b в T и K. Я тему в численных методах создавал, хоть убей не могу понять как они выводятся.

А качество идентификации пользователь оценивать будет?
Я когда идентифицировал системы с задержкой, всегда задержку отбрасывал, потом добавлял к уже идентифицированной системе, думаю это не сложно сделать программным путем.
0
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123
19.12.2014, 12:10  [ТС]
Цитата Сообщение от alxnrdch Посмотреть сообщение
Не, я про то, как получились формулы которые переводят параметры a и b в T и K. Я тему в численных методах создавал, хоть убей не могу понять как они выводятся.
вечером выложу вывод этих формул, сейчас у меня их нет под рукой, я их дома, в свободное от работы время выводил

Цитата Сообщение от alxnrdch Посмотреть сообщение
А качество идентификации пользователь оценивать будет?
Если идентификация соответсвует минимальному критерию J, то участие пользователя в оценке не требуется.
Но конечно с другой то стороны всегда можно сопоставить результат идентификации со знаниями об объекте.

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

Может быть есть идеи, как можно идентфицировать параметры объекта (регулирование термпературы) имеющего передаточную функцию вида:
W(p) = 4.78 / (5900*p+1) * exp(-160p)
за более короткое время?

Тут можно задаться вопросом, а что идентифировать, если уже все параметры известны?

Дело в том, что в систему могут быть установлены доп. компоненты, изменена длина труб, изменен объем теплоносителя. То есть в зависимости от изменений может потребоваться новая идентификация для оптимальной настройки ПИД регулятора.
0
4 / 4 / 1
Регистрация: 02.12.2014
Сообщений: 33
19.12.2014, 12:18
А на сколько серьезно эти изменения будут влиять на ПФ объекта? Не думаю что динамика будет сильно отличаться. Может имеет смысл взглянуть на робастность и адаптивность?
Так же можно рекуррентным алгоритмом идентифицировать объект прямо во время его работы (его описание есть в Дигиленской).
Могу рекомендовать посмотреть книгу: Адаптивное и робастное управление в теплоэнергетике.
0
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123
19.12.2014, 12:38  [ТС]
Цитата Сообщение от alxnrdch Посмотреть сообщение
А на сколько серьезно эти изменения будут влиять на ПФ объекта?
например, для поддержания рабочей температуры в 100°C требуется уставка порядка 11% мощности ТЭНа, если подключить узел создающий режим центрифуги, уставка необходима уже порядка 14,8%.
И, мне требудет регулировать не только температуру но и расход с давлением (до них я еще пока не дошел...)
И стенд у нас не один... и все с разными параметрами... Но блок self-tuning'а должен быть один и на все...

Цитата Сообщение от alxnrdch Посмотреть сообщение
идентифицировать объект прямо во время его работы
Так это уже получается идентификация в замкнутой системе с участием регулятора?

Если бы я смог понять все, что пишут обладатели научных степей в своих книгах, я бы уже приступил к написанию документации...
0
4 / 4 / 1
Регистрация: 02.12.2014
Сообщений: 33
19.12.2014, 15:26
Фактически для идентификации объекта используется некий входной сигнал, и снимается выход, все что будет у вас между, то и идентифицируете. У Дилигенской просто написано, посмотрите.
По особенностям идентификации замкнутых систем написано в "Семенов А. Д., Артамонов Д. В., Брюхачев А. В. - Идентификация объектов управления".
0
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123
19.12.2014, 21:24  [ТС]
Как и обещал...

https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{T* dy(t)}{dt} +y(t) = k*u(t-1) \\y(i)=a*y(i-1)+b*u(i-1) \\ a=\frac{T}{T+\Delta t} \\b=\frac{k*\Delta t}{T+\Delta t} \\

где https://www.cyberforum.ru/cgi-bin/latex.cgi?\Delta t шаг дискретизации

Скажите, вы знакомы с методом нахождения параметров объекта двойныи импульсным тестом?
Смысл его в том, что вначале устанавливается какая-то уставка скажем 10%, ожидается когда процесс станет стабильным, а потом, скажем на 10 минут дается скачек на +3% уставки (до 13%), после 10 мин дается скачек на понижение до 7% уставки, через 10 мин снова 10% уставки. Дальше на измерениях отклика находится минимум и максимум измеряемой величины и время в которые эти моменты наступили.

по скриншоту будет понятнее... (правда язык там даже не английский... ) книга Karl J Astrom "Control PID avanzado"
Миниатюры
Идентификация объекта регрессионным МНК  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2014, 21:24
Помогаю со студенческими работами здесь

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

МНК
День добрый! Попалось такое задание: по таблице данных x и y методом наименьших квадратов посторить график линейной и квадратичной...

МНК
Может кто поможет решить. А то вышку совсем забыл) Найти формулу вида у=ах+b методом наименьших квадратов по данным опыта (таблицы). ...

МНК
Я новичок в питоне. Можете мне объяснить, как работает функция lstsq? Я пытаюсь сделать её аналог на С++, но результат расходится, при...

МНК
Помогите пожалуйста, может кто уже делал эту задачу. Написать windows-приложение - графическую иллюстрацию апроксимации методом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru