- •В.И. Королев, в.В. Сахаров, о.В. Шергина оценка параметров, моделирование динамических систем и электрических цепей в среде matlab
- •Санкт-Петербург
- •Рецензенты:
- •Isbn 5-88964-073-X © Королев в. И.,
- •Содержание
- •1. Идентификация параметров моделей систем на основе квадратичных методов оценивания………..……………………………………………………………........................... 11
- •Модели установившихся режимов в электрических цепях и
- •4. Модели пространства состояний в электрических цепях и
- •5. Системы и цепи под воздействием параметрических возмущений: численные и
- •6. Моделирование динамических систем и электрических цепей средствами
- •8. Моделирование технологических процессов в системах с помощью
- •Введение
- •Идентификация параметров моделей систем на основе квадратичных методов оценивания
- •Линейные модели систем Рассмотрим систему линейных уравнений
- •Рассмотрим линейное уравнение
- •Для существования точного решения уравнения (1.1) должно выполняться условие
- •1.2. Переопределенные системы уравнений. Метод наименьших квадратов
- •Введем векторы
- •1.3. Оценивание параметров периодических сигналов по экспериментальным данным
- •Таким образом, требуется оценить амплитуды и фазы
- •Разделив период t на 24 равных интервала, мы получим . Так как , то каждому будет соответствовать угол (в градусах).
- •1.4. Рекуррентный метод оценивания параметров моделей
- •1.5.Алгоритм оценивания параметров моделей в условиях ограничений
- •Минимальное значение (1.43) соответствует условию
- •1.6. Нормы оценивания параметров в теории инверсных систем
- •1.7. Оценивание параметров по критерию минимума среднего абсолютного значения остатков
- •Уравнение измерителя
- •1.8. Нелинейное оценивание параметров моделей в режиме прямых вычислений
- •1.9. Алгоритм ортогонализации в оценке параметров динамических систем
- •Рассмотрим нелинейную дискретную модель системы
- •2. Модели установившихся режимов в электрических цепях и системах
- •2.1. Пример модели цепи постоянного тока
- •Пример модели цепи переменного тока
- •2.3.Несимметричные режимы в трехфазных электрических цепях: метод симметричных составляющих
- •2.4. Модель многоузлового разветвления русла в стационарном режиме. Аналогии с электрической цепью
- •2.5. Модель твердого тела с двумя неподвижными точками
- •2.6. Многопродуктовая модель экономики: межотраслевой баланс
- •2.7. Модель оценки элементов матрицы преобразования
- •3. Динамические звенья и системы под воздействием гармонических сигналов
- •3.1.Построение частотных характеристик простых динамических звеньев
- •3.2.Резонанс в динамических системах
- •3.4. Резонанс в электрических цепях
- •3.4. Режим биений
- •4. Модели пространства состояний в электрических цепях и системах
- •4.1. Понятие состояния
- •4.2. Уравнения состояния для электрических цепей
- •4.3. Приведение к резистивной форме моделей электрических цепей с одним накопителем энергии
- •4.4. Определение коэффициентов дифференциальных уравнений моделей электрических цепей с двумя накопителями энергии
- •4.5. Электрическая цепь с четырьмя накопителями энергии
- •4.6. Примеры составления уравнений состояния rlc -цепей в матричной форме
- •Исходная цепь
- •Краткие сведения о решателях дифференциальных уравнений
- •5.2. Об аналитическом решении дифференциальных уравнений
- •5.3.Матричная форма решения уравнений состояния динамических систем
- •Моделирование динамических систем с двумя накопителями энергии при параметрических возмущениях Для определенности рассмотрим модель динамической системы с двумя накопителями энергии:
- •Моделирование –цепей. Аналитические решения
- •Сопротивления ,
- •Переходный процесс в -цепи под воздействием синусоидального входного сигнала
- •Системы, находящиеся под воздействием периодических сигналов прямоугольной формы
- •Динамические системы с двумя накопителями энергии
- •Корни комплексно-сопряженные.
- •Кратные корни.
- •Вещественные неравные корни
- •Динамические системы с тремя накопителями энергии
- •6. Моделирование динамических систем и электрических цепей средствами символьной математики
- •6.1. Символьные выражения и алгебра
- •6.2. Алгебраические и трансцендентные уравнения. Расчет цепи постоянного тока
- •Символьной алгебры
- •6.3. Символьное дифференцирование и интегрирование
- •6.4. Решение дифференциальных уравнений в символьной форме
- •6.5. Моделирование переходных процессов в электрических цепях средствами пакета символьной математики
- •6.6. Операторный метод расчета переходных процессов с использованием пакета символьной математики
- •7. Модели детерминированного хаоса и их применение
- •7.1. Дискретные динамические модели первого порядка со сложной динамикой
- •7.2. Программное обеспечение и моделирование нелинейных дискретных систем. Хаос
- •7.3. О применении нелинейных моделей систем для получения псевдослучайных хаотических последовательностей
- •Моделирование технологических процессов в системах с помощью нейронных сетей
- •8.1.Общие положения
- •8.2. Последовательность операций при создании нейронной сети в среде matlab ( Neural Networks Toolbox)
- •3. Оценка погрешности нейронной модели. Для оценки используется функция моделирования, где в скобках, согласно синтаксису, приводятся сеть и входной сигнал:
- •Моделирование уровней воды в водной коммуникации на основе нейронных сетей
- •В водной коммуникации
- •8.4. Применение нейронной сети для определения химического состава песчано – гравийной смеси
- •Моделирование технологического процесса оценки и прогноза рыночных факторов, воздействующих на работу предприятия и бизнес в классе нейронных сетей
- •Библиографический список
- •Оценка параметров, моделирование динамических систем и электрических цепей в среде MatLab
- •165300, Г. Котлас, ул. Невского, 20.
В водной коммуникации
По данным вычислений построены графики, приведенные на рис.8.1. Гипотетические измерения гидрологического поста (выход системы) представлены системой точек (условно по одному измерению в сутки), а результаты моделирования нанесены сплошной линией. Как следует из данных расчетов, характеристики отметок уровней гипотетического эксперимента и модели практически совпадают, что свидетельствует о получении высокой степени адекватности.
8.4. Применение нейронной сети для определения химического состава песчано – гравийной смеси
В процессе добычи гравийно – песчаной смеси (нерудных материалов) и подачи ее на классификатор требуется непрерывно определять ее химический состав с помощью специальных датчиков информации. Предположим, что для измерения состава материала используется рентгеновский датчик, с помощью которого определяется содержание в материале компонентов SiO, AlO, FeO, CaO.
Наличие в составе одного из компонентов оказывает влияние на показания датчика, которые также связаны с другими компонентами.
В процессе химического анализа результатов измерений состава порошкообразного материала, производимых по 4 каналам датчика, в лабораторных условиях было установлено «истинное содержание» всех компонентов при соответствующих показаниях датчика. Измерения регистрировались как числа импульсов датчика рентгеновского излучения по каждому измерительному каналу с избирательными свойствами по соответствующему элементу.
Для получения зависимости, связывающей истинное содержание каждого компонента с показаниями одного из 4 каналов, можно использовать нейронную сеть и по табличным данным построить регрессионную модель.
Экспериментально для гравийно–песчаной смеси получены данные, приведенные в таблице 8.1. Их использование позволяет получить функциональные зависимости:
для состава SiO S = f1(Sx,Ax,Fx,Cx);
для состава AlO A = f2(Sx,Ax,Fx,Cx);
для состава FeO F = f3(Sx,Ax,Fx,Cx);
для состава CaO C = f4(Sx,Ax,Fx,Cx).
Таблица 8.1.
|
Sист (%) |
Sx (имп/с) |
Aист (%) |
Ax (имп/с) |
Fист (%) |
Fx (имп/с) |
Cист (%) |
Cx (имп/с) |
1 |
16,59 |
598,95 |
1,45 |
37,45 |
0,53 |
335,65 |
44,09 |
7185,30 |
2 |
32,13 |
1051,10 |
1,00 |
15,20 |
0,38 |
211,20 |
34,41 |
5739,80 |
3 |
1,88 |
115,50 |
0,19 |
8,68 |
0,18 |
105,50 |
50,54 |
8547,00 |
4 |
0,73 |
28,40 |
0,30 |
8,50 |
0,23 |
155,60 |
43,28 |
3598,50 |
5 |
28,39 |
910,60 |
6,19 |
183,70 |
1,05 |
738,45 |
32,97 |
5205,50 |
6 |
33,84 |
1102,50 |
6,53 |
205,58 |
1,31 |
999,90 |
30,31 |
4680,30 |
7 |
19,23 |
577,80 |
1,80 |
41,15 |
0,45 |
301,35 |
43,08 |
7317,80 |
8 |
17,36 |
611,50 |
5,11 |
149,85 |
0,95 |
644,85 |
35,97 |
5830,30 |
9 |
9,59 |
366,25 |
3,05 |
82,90 |
0,52 |
358,35 |
47,21 |
7721,50 |
10 |
15,70 |
605,40 |
3,65 |
96,75 |
0,63 |
472,35 |
41,26 |
6576,80 |
11 |
16,00 |
617,75 |
1,31 |
20,55 |
0,32 |
204,35 |
42,54 |
6965,30 |
12 |
14,17 |
519,20 |
2,28 |
100,02 |
0,68 |
457,45 |
41,42 |
6750,50 |
13 |
16,55 |
589,80 |
3,82 |
112,00 |
0,69 |
496,70 |
41,87 |
6626,00 |
Определение состава AlO:
X=[598.95 37.45 335.65 7185.63
1051.10 15.20 211.20 5739.8
115.50 8.68 105.50 8547.0
28.40 8.50 155.60 7598.5
910.60 183.70 738.45 5205.5
1102.50 205.58 999.90 4680.3
577.80 41.15 301.35 7317.8
611.50 149.85 644.85 5830.3
366.25 82.90 358.35 7729.5
605.40 96.75 472.35 6576.8
617.75 20.55 204.35 6965.3
519.20 100.02 457.45 6750.5
589.80 112.00 496.70 6626.0]';
X1=X
Y=[1.45 1.00 0.19 0.30 6.19 6.53 1.8 5.11 3.05 3.65 1.31 2.28 3.82];
s1=max(X1'); s2=min(X1');
PR=[s2;s1]'
net=newff(PR, [5 1], {'tansig' 'purelin'});
Z=sim(net,X1);
i=1:13;
net.trainParam.epochs=3000;
net=train(net,X1,Y);
Z=sim(net,X1);
plot(i,Y,'*',i,Z),grid
xlabel('No of measuring')
ylabel('Parametr AlO')
>> net
net =
Neural Network object:
architecture:
numInputs: 1
numLayers: 2
biasConnect: [1; 1]
inputConnect: [1; 0]
layerConnect: [0 0; 1 0]
outputConnect: [0 1]
targetConnect: [0 1]
numOutputs: 1 (read-only)
numTargets: 1 (read-only)
numInputDelays: 0 (read-only)
numLayerDelays: 0 (read-only)
subobject structures:
inputs: {1x1 cell} of inputs
layers: {2x1 cell} of layers
outputs: {1x2 cell} containing 1 output
targets: {1x2 cell} containing 1 target
biases: {2x1 cell} containing 2 biases
inputWeights: {2x1 cell} containing 1 input weight
layerWeights: {2x2 cell} containing 1 layer weight
functions:
adaptFcn: 'trains'
initFcn: 'initlay'
performFcn: 'mse'
trainFcn: 'trainlm'
parameters:
adaptParam: .passes
initParam: (none)
performParam: (none)
trainParam: .epochs, .goal, .max_fail, .mem_reduc,
.min_grad, .mu, .mu_dec, .mu_inc,
.mu_max, .show, .time
weight and bias values:
IW: {2x1 cell} containing 1 input weight matrix
LW: {2x2 cell} containing 1 layer weight matrix
b: {2x1 cell} containing 2 bias vectors
other:
userdata: (user stuff)
Рис.8. 2 . Результаты моделирования содержания AlO по 3000 циклам обучения
% Решение для 3000 циклов обучения:
>> [Y;Z]
ans =
Columns 1 through 10
1.4500 1.0000 0.1900 0.3000 6.1900 6.5300 1.8000 5.1100 3.0500 3.6500
1.4086 1.3273 0.3430 0.1470 6.0711 6.5687 1.5344 5.0558 2.9223 3.3569
Columns 11 through 13
1.3100 2.2800 3.8200
1.0806 2.9441 3.9203
На рис. 8.2 представлены результаты моделирования содержания AlO в смеси. Экспериментальные точки обозначены звездочками, а модельные значения – в виде точек, соединенных отрезками прямых. Из приведенных расчетных данных для 6000 циклов обучения следует, что модельные значения идентичны эксперименту (графики не приводятся).
Определение состава CaO:
X=[598.95 37.45 335.65 7185.63
1051.10 15.20 211.20 5739.8
115.50 8.68 105.50 8547.0
28.40 8.50 155.60 7598.5
910.60 183.70 738.45 5205.5
1102.50 205.58 999.90 4680.3
577.80 41.15 301.35 7317.8
611.50 149.85 644.85 5830.3
366.25 82.90 358.35 7729.5
605.40 96.75 472.35 6576.8
617.75 20.55 204.35 6965.3
519.20 100.02 457.45 6750.5
589.80 112.00 496.70 6626.0]';
X1=X
Y=[44.09 34.41 50.54 43.28 32.97 30.31 43.08 35.97 47.21 41.26 42.54 41.42 41.87];
s1=max(X1'); s2=min(X1');
PR=[s2;s1]'
net=newff(PR, [5 1], {'tansig' 'purelin'});
Z=sim(net,X1);
i=1:13;
net.trainParam.epochs=3000;
net=train(net,X1,Y);
Z=sim(net,X1);
plot(i,Y,'*',i,Z),grid
xlabel('No of measuring')
ylabel('Parameter CaO, %')
>> net
net =
Neural Network object:
architecture:
numInputs: 1
numLayers: 2
biasConnect: [1; 1]
inputConnect: [1; 0]
layerConnect: [0 0; 1 0]
outputConnect: [0 1]
targetConnect: [0 1]
numOutputs: 1 (read-only)
numTargets: 1 (read-only)
numInputDelays: 0 (read-only)
numLayerDelays: 0 (read-only)
subobject structures:
inputs: {1x1 cell} of inputs
layers: {2x1 cell} of layers
outputs: {1x2 cell} containing 1 output
targets: {1x2 cell} containing 1 target
biases: {2x1 cell} containing 2 biases
inputWeights: {2x1 cell} containing 1 input weight
layerWeights: {2x2 cell} containing 1 layer weight
functions:
adaptFcn: 'trains'
initFcn: 'initlay'
performFcn: 'mse'
trainFcn: 'trainlm'
parameters:
adaptParam: .passes
initParam: (none)
performParam: (none)
Рис.8.3 . Моделирование содержания CaO : 3000 циклов обучения
trainParam: .epochs, .goal, .max_fail, .mem_reduc,
.min_grad, .mu, .mu_dec, .mu_inc,
.mu_max, .show, .time
weight and bias values:
IW: {2x1 cell} containing 1 input weight matrix
LW: {2x2 cell} containing 1 layer weight matrix
b: {2x1 cell} containing 2 bias vectors
other:
userdata: (user stuff)
>> [Y;Z]
ans =
Columns 1 through 10
44.0900 34.4100 50.5400 43.2800 32.9700 30.3100 43.0800 35.9700 47.2100 41.2600
44.0900 34.4100 50.5400 43.2800 32.9700 30.3100 43.0800 35.9700 47.2100 41.2600
Columns 11 through 13
42.5400 41.4200 41.8700
42.5400 41.4200 41.8700
Видно, что модель адекватна объекту. На рис 8.3 эксперимент представлен звездочками.
Определение состава FeO:
X=[598.95 37.45 335.65 7185.63
1051.10 15.20 211.20 5739.8
115.50 8.68 105.50 8547.0
28.40 8.50 155.60 7598.5
910.60 183.70 738.45 5205.5
1102.50 205.58 999.90 4680.3
577.80 41.15 301.35 7317.8
611.50 149.85 644.85 5830.3
366.25 82.90 358.35 7729.5
605.40 96.75 472.35 6576.8
617.75 20.55 204.35 6965.3
519.20 100.02 457.45 6750.5
589.80 112.00 496.70 6626.0]';
X1=X+90
Y=[0.53 0.38 0.18 0.23 1.05 1.31 0.45 0.95 0.52 0.63 0.32 0.68 0.69];
s1=max(X1'); s2=min(X1');
PR=[s2;s1]'
net=newff(PR, [5 1], {'tansig' 'purelin'});
Z=sim(net,X1);
i=1:13;
net.trainParam.epochs=3000;
net=train(net,X1,Y);
Z=sim(net,X1);
plot(i,Y,'*',i,Z),grid
xlabel('No of measuring')
ylabel('Parameter FeO, %')
>> net
net =
Neural Network object:
architecture:
numInputs: 1
numLayers: 2
biasConnect: [1; 1]
inputConnect: [1; 0]
layerConnect: [0 0; 1 0]
outputConnect: [0 1]
targetConnect: [0 1]
numOutputs: 1 (read-only)
numTargets: 1 (read-only)
numInputDelays: 0 (read-only)
numLayerDelays: 0 (read-only)
subobject structures:
inputs: {1x1 cell} of inputs
layers: {2x1 cell} of layers
outputs: {1x2 cell} containing 1 output
targets: {1x2 cell} containing 1 target
biases: {2x1 cell} containing 2 biases
inputWeights: {2x1 cell} containing 1 input weight
layerWeights: {2x2 cell} containing 1 layer weight
functions:
adaptFcn: 'trains'
initFcn: 'initlay'
performFcn: 'mse'
trainFcn: 'trainlm'
parameters:
adaptParam: .passes
initParam: (none)
performParam: (none)
trainParam: .epochs, .goal, .max_fail, .mem_reduc,
.min_grad, .mu, .mu_dec, .mu_inc,
.mu_max, .show, .time
Рис.8.4. Результаты моделирования FeO с помощью сети: 3000 циклов обучения
weight and bias values:
IW: {2x1 cell} containing 1 input weight matrix
LW: {2x2 cell} containing 1 layer weight matrix
b: {2x1 cell} containing 2 bias vectors
other:
userdata: (user stuff)
>> [Y;Z]
ans =
Columns 1 through 10
0.5300 0.3800 0.1800 0.2300 1.0500 1.3100 0.4500 0.9500 0.5200 0.6300
0.5300 0.3800 0.1800 0.2300 1.0496 1.3099 0.4500 0.9508 0.5200 0.6350
Columns 11 through 13
0.3200 0.6800 0.6900
0.3200 0.6688 0.6959
Определение SiO:
X=[598.95 37.45 335.65 7185.63
1051.10 15.20 211.20 5739.8
115.50 8.68 105.50 8547.0
28.40 8.50 155.60 7598.5
910.60 183.70 738.45 5205.5
1102.50 205.58 999.90 4680.3
577.80 41.15 301.35 7317.8
611.50 149.85 644.85 5830.3
366.25 82.90 358.35 7729.5
605.40 96.75 472.35 6576.8
617.75 20.55 204.35 6965.3
519.20 100.02 457.45 6750.5
589.80 112.00 496.70 6626.0]';
X1=X+90
Y=[16.59 32.13 1.88 0.73 28.39 33.84 19.23 17.36 9.59 15.17 16.00 14.17 16.55];
s1=max(X1'); s2=min(X1');
PR=[s2;s1]'
net=newff(PR, [5 1], {'tansig' 'purelin'});
Z=sim(net,X1);
i=1:13;
net.trainParam.epochs=2500;
net=train(net,X1,Y);
Z=sim(net,X1);
plot(i,Y,'*',i,Z),grid
xlabel('No of measuring')
ylabel('Parameter SiO')
>> net
net =
Neural Network object:
architecture:
numInputs: 1
numLayers: 2
biasConnect: [1; 1]
inputConnect: [1; 0]
layerConnect: [0 0; 1 0]
outputConnect: [0 1]
targetConnect: [0 1]
numOutputs: 1 (read-only)
numTargets: 1 (read-only)
numInputDelays: 0 (read-only)
numLayerDelays: 0 (read-only)
subobject structures:
Рис.8.5. Результаты моделирования процесса измерения SiO с помощью нейронной сети
inputs: {1x1 cell} of inputs
layers: {2x1 cell} of layers
outputs: {1x2 cell} containing 1 output
targets: {1x2 cell} containing 1 target
biases: {2x1 cell} containing 2 biases
inputWeights: {2x1 cell} containing 1 input weight
layerWeights: {2x2 cell} containing 1 layer weight
functions:
adaptFcn: 'trains'
initFcn: 'initlay'
performFcn: 'mse'
trainFcn: 'trainlm'
parameters:
adaptParam: .passes
initParam: (none)
performParam: (none)
trainParam: .epochs, .goal, .max_fail, .mem_reduc,
.min_grad, .mu, .mu_dec, .mu_inc,
.mu_max, .show, .time
weight and bias values:
IW: {2x1 cell} containing 1 input weight matrix
LW: {2x2 cell} containing 1 layer weight matrix
b: {2x1 cell} containing 2 bias vectors
other:
userdata: (user stuff)
>> [Y;Z]
ans =
Columns 1 through 10
16.5900 32.1300 1.8800 0.7300 28.3900 33.8400 19.2300 17.3600 9.5900 15.1700
16.5900 31.9284 2.0881 0.6034 28.3469 33.8831 18.7723 17.3599 9.6124 15.8606
Columns 11 through 13
16.0000 14.1700 16.5500
16.6594 12.8063 17.1193
На рис.8.5 представлены результаты моделирования технологического процесса измерения SiO с помощью модели нейронной сети, параметры которой получены при задании 2500 циклов обучения.
Представляет также практический интерес построение сетей для моделирования технологических процессов с малым числом измерений, дополненных данными путем использования сплайн – аппроксимаций. Последние, обладая целым рядом «внутренних» оптимальных свойств (свойством минимальной кривизны и др.), позволяют с высокой степенью адекватности восстанавливать недостающие данные эксперимента в точках, расположенных в промежутках между измерениями.