setPolyFormat

Задайте формат для B и полиномов F мультивходной модели полинома

Синтаксис

modelOut = setPolyFormat(modelIn,’double’)
modelOut = setPolyFormat(modelIn,’cell’)

Описание

пример

modelOut = setPolyFormat(modelIn,’double’) преобразовывает B и полиномы F мультивходной модели полинома, modelIn, чтобы удвоить матрицы.

По умолчанию B и полиномы F модели idpoly являются массивами ячеек. Для скриптов MATLAB®, записанных перед R2012a, преобразуйте массивы ячеек, чтобы удвоить матрицы для обратной совместимости с помощью этого синтаксиса. Например:

model = arx(data,[3 2 2 1 1]);
model = setPolyFormat(model,'double');

modelOut = setPolyFormat(modelIn,’cell’) преобразовывает B и полиномы F modelIn к массивам ячеек.

Файлы данных MATLAB, сохраненные перед R2012a, хранят модели idpoly своим B и полиномами F, представленными как двойные матрицы. Если эти модели ранее собирались действовать в режиме прежней совместимости, они не преобразованы, чтобы использовать массивы ячеек, когда загружено. Преобразуйте эти модели, чтобы использовать массивы ячеек с помощью этого синтаксиса. Например:

load polyData.mat model;
model = setPolyFormat(model,'cell');

Примеры

свернуть все

Загрузите данные об оценке.

load iddata8;

Оцените модель.

m1 = arx(z8,[3 [2 2 1] [1 1 1]]);

Преобразуйте b и полиномы f, чтобы использовать двойные матрицы.

m2 = setPolyFormat(m1,'double');

Извлеките полюс и обнулите информацию из модели с помощью матричного синтаксиса.

Poles1 = roots(m2.F(1,:));
Zeros1 = roots(m2.B(1,:));

Входные параметры

свернуть все

Полиномиальная модель, заданная как объект idpoly. B и полиномы F modelIn также:

  • Массивы ячеек с элементами Nu, где Nu является количеством образцовых входных параметров с каждым элементом, содержащим двойной вектор. Эта настройка является значением по умолчанию.

  • Двойные матрицы со строками Nu. Эта настройка применяется к обратно совместимым моделям idpoly, сохраненным в файлах данных MATLAB перед R2012a.

Примечание

setPolyFormat только поддерживает мультивход, модели одно вывода. Определение modelIn как a:

  • Мультивыходная модель генерирует ошибку.

  • Одно вход, модель одно вывода не имеет никакого эффекта. B и полиномы F остаются как двойные векторы.

Выходные аргументы

свернуть все

Полиномиальная модель, возвращенная как объект idpoly.

Чтобы получить доступ к b и полиномам f modelOut, используйте:

  • Матричный синтаксис после использования modelOut = setPolyFormat(modelIn,'double'). Например:

    modelOut.B(1,:);
  • Синтаксис массива ячеек после использования modelOut = setPolyFormat(modelIn,'cell'). Например:

    modelOut.B{1};

После использования modelOut = setPolyFormat(modelIn,'cell') можно повторно сохранить конвертированную модель в формате массива ячеек. Например:

save polyNew.mat modelOut;

Советы

  • Проверять текущий формат B и полиномов F для данной модели idpoly, введите:

    class(model.B)

    Если модель использует двойные матрицы, отображенный результат:

    ans =
    
    double

    В противном случае, для массивов ячеек, результат:

    ans =
    
    cell

Представленный в R2010a