FileName
|
Имя функции или Файлов MEX, хранящих структуру модели, заданное как вектор символов (без расширения) или указатель на функцию для вычисления состояний и выходов. Если FileName является вектор символов, для примера 'twotanks_c' , затем он должен указать на файл MATLAB, Pcode-файл или файл MEX. Для получения дополнительной информации о переменных файла смотрите Задание нелинейной структуры модели серого.
|
Order
|
Количество выходов, входов и состояний модели, заданное как одно из следующего:
Векторные [Ny Nu Nx] , задающее количество выходов модели Ny , входы Nu , и состояния Nx . Структура с полями 'Ny' , 'Nu' , и 'Nx' .
Для временных рядов, Nu установлено в 0 , и для статических структур модели, Nx установлено в 0 .
|
Parameters
|
Параметры модели, заданные как один из следующих:
Np -by-1 массив структур, где Np количество параметров. Структура содержит следующие поля:
Область | Описание | Дефолт |
---|
Name | Имя параметра, заданное как вектор символов. Для примера, 'pressure' . | 'pi' , где i - целое число в [1,Np] | Unit | Модуль измерения параметра, заданная как вектор символов. | '' | Value |
Начальное значение параметра, заданное как:
Конечный действительный скаляр Конечный действительный вектор-столбец Двумерная действительная матрица
| | Minimum |
Минимальное значение параметра, заданное как действительный скаляр, вектор-столбец или матрица того же размера, что и Value .
Minimum > = Value для всех компонентов.
| -Inf(size(Value)) | Maximum |
Максимальное значение параметра, заданное как действительный скаляр, вектор-столбец или матрица того же размера, что и Value .
Value <= Maximum для всех компонентов.
| Inf(size(Value)) | Fixed | Задает, является ли параметр фиксированным к их начальным значениям, заданным в виде логического скаляра, вектора-столбца или матрицы того же размера, что и Value . |
false(size(Value))
Подразумевает, оценивать все параметры
|
Np -by-1 вектор вещественных конечных начальных значений, InParameters .
Данные преобразуются в структуру со значениями по умолчанию для полей Name , Unit , Minimum , Maximum , и Fixed . Value присваивается значение InParameters(i) , где i - целое число в [1,Np]
Np -by-1 массив ячеек, содержащий конечные вещественные скаляры, конечные векторы действительных чисел или конечные действительные двумерные матрицы начальных значений.
Создается структура со значениями по умолчанию для полей Name , Unit , Minimum , Maximum , и Fixed .
Используйте запись через точку для доступа к подполям i -й параметр. Для примера, для idnlgrey модели M , а i Доступ к параметру th осуществляется через M.Parameters(i) и его подполя Fixed по M.Parameters(i).Fixed .
|
InitialStates
|
Начальные состояния параметров модели заданы как одно из следующего:
Nx -by-1 массив структур, где Nx количество состояний. Структура содержит следующие поля:
Область | Описание | Дефолт |
---|
Name | Имя состояний, заданное как вектор символов. | 'xi' , где i - целое число в [1,Nx] | Unit | Модуль измерения состояний, заданная как вектор символов. | '' | Value |
Начальное значение начальных состояний, заданное как:
Конечный действительный скаляр Конечная действительная 1-by- Ne вектор, где Ne количество экспериментов в наборе данных, который будет использоваться для оценки
| | Minimum |
Минимальное значение начальных состояний, заданное как действительный скаляр или 1-by- Ne вектор того же размера, что и Value .
Minimum > = Value для всех компонентов.
| -Inf(size(Value)) | Maximum |
Максимальное значение параметров, заданное как действительный скаляр или 1-by- Ne вектор того же размера, что и Value .
Value <= Maximum для всех компонентов.
| Inf(size(Value)) | Fixed | Определяет, фиксируются ли начальные состояния к их начальным значениям, заданным как логический скаляр или 1-бай- Ne вектор того же размера, что и Value |
true(size(Value))
Подразумевает, не оценивать начальные состояния.
|
[] .
Создается структура со значениями по умолчанию для полей Name , Unit , Minimum , Maximum , и Fixed . Value присваивается значение 0 .
Действительный конечный Nx -by- Ne матрица (InitStates ). Value от i th элемент массива структур InitStates(i,Ne) , вектор-строка с Ne элементы. Minimum , Maximum , и Fixed будет -Inf , Inf и true Векторы-строки того же размера, что и InitStates(i,Ne) .
Массив ячеек с конечными векторами действительных чисел размера 1-by- Ne или {} (аналогично [] ). Создается структура со значениями по умолчанию для полей Name , Unit , Minimum , Maximum , и Fixed .
Используйте запись через точку для доступа к подполям i I начальное состояние. Для примера, для idnlgrey модели M , а i Доступ к третьему начальному состоянию осуществляется через M.InitialStates(i) и его подполя Fixed по M.InitialStates(i).Fixed .
|
FileArgument
|
Содержит вспомогательные переменные, переданные в файл ODE (функция или файл MEX), указанный в FileName , заданный как массив ячеек. Эти переменные используются в качестве дополнительных входов для определения состояния и/или выходных уравнений. По умолчанию: {} .
|
SimulationOptions
|
Структура, задающая метод симуляции и связанные опции, содержащая следующие поля:
Область | Описание | Дефолт |
---|
AbsTol | Абсолютный допуск ошибок. Этот скаляр применяется ко всем компонентам вектора состояний.
Применимо к: Переменные решатели шага.
Присваиваемое значение: Положительное действительное значение. | 1e-6 | FixedStep | Размер шага, используемый решателем.
Применимо к: Решатели с фиксированным шагом непрерывного времени.
Присваиваемые значения: |
'Auto'
Автоматический выбор начального шага.
| InitialStep | Задает начальный шаг, с которого запускается решатель ОДУ.
Применимо к: Решатели переменного шага, непрерывные во времени.
Присваиваемые значения: 'Auto' - Автоматический выбор начального шага.
Положительное действительное значение, такое что MinStep<=InitialStep<=MaxStep .
|
'Auto'
Автоматический выбор начального шага.
| MaxOrder | Задает порядок формул численного дифференцирования (NDF).
Применимо к: ode15s.
Присваиваемые значения: 1, 2, 3, 4 или 5. | 5 | MaxStep | Задает самый большой временной шаг решателя ОДУ.
Применимо к: Решатели переменного шага, непрерывные во времени.
Присваиваемые значения: |
'Auto'
Автоматический выбор временного шага.
| MinStep | Задает наименьший временной шаг решателя ОДУ.
Применимо к: Решатели переменного шага, непрерывные во времени.
Присваиваемые значения: |
'Auto'
Автоматический выбор временного шага.
| RelTol | Относительная погрешность, который применяется ко всем компонентам вектора состояния. Предполагаемая ошибка в каждом шаге интегрирования удовлетворяет |e(i)| <= max(RelTol*abs(x(i)), AbsTol(i)) .
Применимо к: Решатели переменного шага, непрерывные во времени.
Присваиваемое значение: Положительное действительное значение. |
1e-3
(точность 0,1%).
| Solver | Решатель ОДУ (Обыкновенное дифференциальное/разностное уравнение) для решения уравнений пространства состояний. Решатели с переменным шагом для непрерывных во времени idnlgrey модели: 'ode45' - Решатель Runge-Kutta (4,5) для нежестких задач.
'ode23' - Решатель Runge-Kutta (2,3) для нежестких задач.
'ode113' - решатель Адамса-Башфорта-Моултона для нежестких задач.
'ode15s' - Численный дифференциальный решатель формулы для жестких задач.
'ode23s' - Модифицированный решатель Розенбрка для жестких задач.
'ode23t' - Трапеций решатель для умеренно жестких задач.
'ode23tb' - Неявный решатель Runge-Kutta для жестких задач.
Решатели с фиксированным шагом для непрерывного по времени idnlgrey модели: 'ode5' - решатель Dormand-Prince.
'ode4' - Решатель Runge-Kutta четвертого порядка.
'ode3' - решатель Богацки-Шампайна.
'ode2' - Heun или улучшенный решатель Euler.
'ode1' - решатель Эйлера.
Решатели с фиксированным шагом для дискретного по времени idnlgrey модели: 'FixedStepDiscrete' Общее: 'Auto' - Автоматически выбирает один из предыдущих решателей.
|
'Auto'
Автоматически выбирает один из решателей.
|
|
Report
|
Сводный отчет, который содержит информацию об опциях оценки и результатах, когда модель оценивается с помощью nlgreyest команда. Использование Report чтобы запросить модель для того, как она была оценена, включая:
Метод оценки Опции оценки Условия окончания поиска Оценка данной подгонки
Содержимое Report нерелевантны, если модель была создана конструкцией.
Если вы используете nlgreyest для оценки модели, полей Report содержат информацию о данных оценки, опциях и результатах.
load(fullfile(matlabroot,'toolbox','ident','iddemos','data','dcmotordata'));
z = iddata(y,u,0.1,'Name','DC-motor');
nlgr = idnlgrey('dcmotor_m',[2,1,2],[1;0.28],[0;0],0,'Name','DC-motor');
nlgr = nlgreyest(z,nlgr);
nlgr.Report.OptionsUsed
Option set for the nlgreyest command:
GradientOptions: [1x1 struct]
EstimateCovariance: 1
Display: 'off'
Regularization: [1x1 struct]
SearchMethod: 'auto'
SearchOptions: [1x1 idoptions.search.lsqnonlin]
OutputWeight: []
Advanced: [1x1 struct]
Report является свойством только для чтения.
Для получения дополнительной информации об этом свойстве и о том, как его использовать, смотрите Выходные Аргументы в nlgreyest страница с описанием и отчет по оценке.
|
TimeVariable
|
Независимая переменная для входов, выходов и - при наличии - внутренних состояний, заданная как вектор символов.
По умолчанию: 't' |
NoiseVariance
|
Шумовое отклонение (ковариация матрица) инноваций модели e. Присваиваемое значение является ny -by- ny матрица. Обычно автоматически устанавливается алгоритмом оценки.
|
Ts
|
Шаг расчета. Ts - положительная скалярная величина, представляющая период дискретизации. Это значение выражается в модуле, заданной как TimeUnit свойство модели. Для модели непрерывного времени Ts равно 0 (по умолчанию).
Изменение этого свойства не дискретизирует и не переопределяет модель.
По умолчанию: 0 |
TimeUnit
|
Модули измерения для временной переменной, шага расчета Ts , и любые задержки в модели, заданные как одно из следующих значений: 'nanoseconds'
'microseconds'
'milliseconds'
'seconds'
'minutes'
'hours'
'days'
'weeks'
'months'
'years'
Изменение этого свойства не влияет на другие свойства и, следовательно, изменяет общее поведение системы. Использовать chgTimeUnit (Control System Toolbox) для преобразования между единицами времени без изменения поведения системы.
По умолчанию: 'seconds' |
InputName
|
Входные имена каналов, заданные как одно из следующих:
Вектор символов - Для моделей с одним входом, например, 'controls' . Массив ячеек из символьных векторов - Для мультивходов.
Кроме того, используйте автоматическое расширение вектора, чтобы назначить входные имена для мультивходов. Для примера, если sys является моделью с двумя входами, введите:
sys.InputName = 'controls';
Имена входа автоматически расширяются на {'controls(1)';'controls(2)'} .
Когда вы оцениваете модель, используя iddata объект, data программное обеспечение автоматически устанавливает InputName на data.InputName .
Можно использовать сокращённое обозначение u для ссылки на InputName свойство. Для примера, sys.u эквивалентно sys.InputName .
Входные имена каналов имеют несколько применений, включая:
Идентификация каналов на отображении модели и графиках Извлечение подсистем систем MIMO Определение точек соединения при соединении моделей
По умолчанию: '' для всех входных каналов |
InputUnit
|
Входные модули канала, заданные как один из следующих:
Вектор символов - Для моделей с одним входом, например, 'seconds' . Массив ячеек из символьных векторов - Для мультивходов.
Использование InputUnit отслеживать модули входных сигналов. InputUnit не влияет на поведение системы.
По умолчанию: '' для всех входных каналов |
InputGroup
|
Входные группы каналов. The InputGroup свойство позволяет вам назначить входные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте входные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - входными каналами, принадлежащими каждой группе. Для примера:
sys.InputGroup.controls = [1 2];
sys.InputGroup.noise = [3 5];
создает входные группы с именем controls и noise которые включают входные каналы 1, 2 и 3, 5, соответственно. Затем можно извлечь подсистему из controls входы для всех выходов с помощью:
По умолчанию: Struct без полей |
OutputName
|
Выходы каналов, заданные как одно из следующих:
Вектор символов - Для моделей с одним выходом. Для примера, 'measurements' . Массив ячеек из символьных векторов - Для мультивыход моделей.
Кроме того, используйте автоматическое расширение вектора, чтобы назначить имена выходов для мультивыходов. Для примера, если sys является двухвыпускной моделью, введите:
sys.OutputName = 'measurements';
Выходы данных автоматически расширяются на {'measurements(1)';'measurements(2)'} .
Когда вы оцениваете модель, используя iddata объект, data программное обеспечение автоматически устанавливает OutputName на data.OutputName .
Можно использовать сокращённое обозначение y для ссылки на OutputName свойство. Для примера, sys.y эквивалентно sys.OutputName .
Имена выходных каналов имеют несколько применений, включая:
Идентификация каналов на отображении модели и графиках Извлечение подсистем систем MIMO Определение точек соединения при соединении моделей
По умолчанию: '' для всех выходных каналов |
OutputUnit
|
Выход модулей канала, заданный как один из следующих:
Вектор символов - Для моделей с одним выходом. Для примера, 'seconds' . Массив ячеек из символьных векторов - Для мультивыход моделей.
Использование OutputUnit отслеживать выход модулей сигнала. OutputUnit не влияет на поведение системы.
По умолчанию: '' для всех выходных каналов |
OutputGroup
|
Выходы каналов. The OutputGroup свойство позволяет вам назначить выходные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте выходные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - выходными каналами, принадлежащими каждой группе. Для примера:
sys.OutputGroup.temperature = [1];
sys.InputGroup.measurement = [3 5];
создает выходные группы с именем temperature и measurement которые включают выходные каналы 1, и 3, 5, соответственно. Затем можно извлечь подсистему из всех входов в measurement выходы с использованием:
По умолчанию: Struct без полей |
Name
|
Имя системы, заданное как вектор символов. Для примера, 'system_1' .
По умолчанию: '' |
Notes
|
Любой текст, который вы хотите связать с системой, сохраненный как строка или массив ячеек из векторов символов. Свойство сохраняет любой тип данных, которые вы предоставляете. Для образца, если sys1 и sys2 являются динамические системы моделями, можно задать их Notes свойства следующим образом:
ans =
"sys1 has a string."
ans =
'sys2 has a character vector.'
По умолчанию: [0×1 string] |
UserData
|
Любой тип данных, которые вы хотите связать с системой, заданный как любой тип данных MATLAB.
По умолчанию: [] |