idfrd

Данные частотной характеристики или модель

Описание

Система координат idfrd объект хранит данные частотной характеристики в области значений значений частоты. Можно использовать idfrd объект двумя способами. Можно использовать объект в качестве данных оценки для оценки модели временной области или частотного диапазона, подобно iddata объект. Или можно использовать объект как линейную модель, аналогично тому, как вы используете idss модель пространства состояний или любая другая идентифицированная линейная модель. Используйте idfrd команда инкапсулировать данные частотной характеристики или преобразовать линейную динамическую модель временной области или частотного диапазона в модель частотной характеристики.

Команды, принимающие iddata объекты, такие как команда оценки модели ssest, как правило, также принимать idfrd объекты. Однако, idfrd объект может содержать данные только одного эксперимента. Он не имеет возможности мультиэксперимента, что iddata объект имеет.

Команды, которые принимают идентифицированные линейные модели, такие как команды анализа и валидации compare, sim, и bode, обычно также принимайте idfrd модели.

Для модели вида

y(t)=G(q)u(t)+H(q)e(t)

оценка передаточной функции G(eiω) и спектр аддитивного шума, Φv на выходе,

Φv(ω)=λT|H(eiωT)|2

Здесь λ - предполагаемое отклонение e (t), а T - шаг расчета.

Для системы в непрерывном времени шумовой спектр

Φv(ω)=λ|H(eiω)|2

Система координат idfrd хранилища объектов G(eiω) и Φv.

Создание

Можно получить idfrd модель одним из трех способов.

  • Создайте модель из данных частотной характеристики с помощью idfrd команда. Для примера создайте idfrd модель, которая инкапсулирует данные частотной характеристики, взятые на определенных частотах, используя шаг расчета Ts.

    sysfr = idfrd(ResponseData,Freq,Ts)
    Для получения примера смотрите Создание объекта idfrd из данных частотной характеристики.

  • Оцените модель с помощью команды оценки частотной характеристики, такой как spa, используя данные временной области, частотного диапазона или частотной характеристики.

    sysfr = spa(data)

    Для получения дополнительной информации о командах оценки частотной характеристики см. spa, spafdr, и etfe.

  • Преобразуйте линейную модель, такую как idss модель в idfrd модель путем вычисления частотной характеристики модели.

    sysfr = idfrd(sys)
    Для примера преобразования линейной модели см., Преобразование модели временной области в модель частотной характеристики.

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

Описание

Создайте объект частотной характеристики

пример

sysfr = idfrd(ResponseData,Frequency,Ts) создает idfrd в дискретном времени объект, который хранит частотную характеристику ResponseData линейной системы с частотными значениями Frequency. Ts - шаг расчета. Для системы непрерывного времени установите Ts на 0.

sysfr = idfrd(___,Name,Value) устанавливает дополнительные свойства с помощью одного или нескольких аргументов в виде имя-значение. Задайте аргументы имя-значение после первых трех аргументов. Для образца, чтобы задать модули частоты как МГц, используйте sysfr = idfrd(ResponseData,Frequency,Ts,'FrequencyUnits','MHz').

Преобразуйте линейно идентифицированную модель в модель частотной характеристики

пример

sysfr = idfrd(sys) преобразует System Identification Toolbox™ или Control System Toolbox™ линейную модель в данные частотной характеристики на частотах по умолчанию, включая выходные шумовые спектры и спектральную ковариацию.

sysfr = idfrd(sys,Frequency) вычисляет частотную характеристику на частотах Frequency, где Frequency выражается в радианах/ TimeUnit.

sysfr = idfrd(sys,Frequency,FrequencyUnits) интерпретирует частоты в Frequency вектор в модулях, заданных FrequencyUnit.

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

расширить все

Модель линейной динамической системы, заданная как линейная модель System Identification Toolbox или Control System Toolbox.

Свойства

расширить все

Данные частотной характеристики, заданные как трехмерный массив комплексных чисел.

  • Для систем SISO, ResponseData - вектор значений частотной характеристики в частотных точках, заданных в Frequency свойство.

  • Для систем MIMO с Nu входами и Ny выходами, ResponseData является Ny -by- Nu -by- Nf массивом, где Nf - количество частотных точек.

    ResponseData(ky,ku,kf) представляет частотную характеристику от входа ku в выход ky на частотной Frequency(kf).

Частотные точки, соответствующие ResponseData, заданный как вектор-столбец, который содержит Nf точки в модулях, заданных как FrequencyUnit.

Модули вектора частоты в Frequency свойство, заданное как одно из следующих значений:

  • 'rad/TimeUnit'

  • 'cycles/TimeUnit'

  • 'rad/s'

  • 'Hz'

  • 'kHz'

  • 'MHz'

  • 'GHz'

  • 'rpm'

Единицы модулей 'rad/TimeUnit' и 'cycles/TimeUnit' относятся к модулям времени, заданным в TimeUnit свойство.

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

Спектры степени и перекрестные спектры выходных нарушений порядка системы (шум), заданные как вектор (система с одним выходом) или трехмерный массив комплексных чисел (система с несколькими выходами). Для данных отклика с Ny выходами и Nf частотными точками задайте SpectrumData как Ny -by- Ny -by- Nw массив.

SpectrumData(ky1,ky2,kf) - поперечный спектр между шумом на выходе ky1 и шум на выходе ky2 на частотной Frequency(kf). Спектр степени является подмножеством поперечного спектра, где ky1 и ky2 равны.

Ковариация SpectrumData, заданный как массив 5-D с размерностями Ny -by- Nu -by- Nf -by-2-by-2, где Ny - количество выходов, Nu - количество входов, а Nf - количество частотных точек.

CovarianceData(ky,ku,kf,:,:) - ковариационная матрица 2 на 2 SpectrumData(ky,ku,kf). (1,1) элемент является отклонением вещественной части, (2,2) элемент является отклонением мнимой части, и (1,2) и (2,1) элементы являются ковариацией между действительной и мнимой частями. squeeze(CovarianceData(ky,ku,kf,:,:)) таким образом, задает ковариационную матрицу соответствующего ответа.

Если вы получаете sysfr путем преобразования модели sys, значение CovarianceData зависит от того, как вы получили sys.

  • Если вы получили sys по идентификации программное обеспечение вычисляет предполагаемую ковариацию для sysfr из информации о неопределенности в sys. Программа использует формулу приближения Гаусса для этого вычисления для всех типов модели, кроме серых коробчатых моделей. Для серого ящика моделей (idgrey), программное обеспечение применяет числовую дифференциацию.

  • Если вы создали sys при помощи таких команд, как idss, idtf, idproc, idgrey, или idpoly, затем программное обеспечение устанавливает CovarianceData для sysfr на [].

Отклонение спектров степени, заданная как вектор (система с одним выходом) или трехмерный массив (система с несколькими выходами). Для данных отклика с Ny выходами и Nw частотными точками задайте NoiseCovariance как Ny -by- Ny -by- Nw массив. NoiseCovariance(ky1,ky2,kw) - отклонение соответствующего спектра степени.

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

Поведение интерсampла входного сигнала для преобразований между дискретным временем и непрерывным временем, заданное как вектор символов или как массив ячеек Nu -by-1 векторов символов, где Nu - количество входных каналов. Это свойство имеет значение только тогда, когда вы оцениваете модели в непрерывном времени (шаг расчета Ts > 0) из данных в дискретном времени.

Для каждого входного канала возможные значения InterSample являются:

  • 'zoh' - Удержание нулевого порядка поддерживает кусочно-постоянный входной сигнал между выборками.

  • 'foh' - Удержание первого порядка поддерживает кусочно-линейный входной сигнал между выборками.

  • 'bl' - Ограниченное по полосе поведение задает, что входной сигнал в непрерывном времени имеет нулевую степень выше частоты Найквиста (pi/sys.Ts рад/с). Такое поведение обычно происходит, когда входной сигнал измеряется экспериментально с использованием антиалиазирующего фильтра и дискретизатора. В идеале относитесь к данным как к непрерывному времени. То есть, если сигналы, используемые для оценки частотной характеристики, были подвержены сглаживающим фильтрам, установите sys.Ts в нуль.

Если вы получаете sysfr преобразованием модели sys, затем InterSample равно Intersample свойство iddata объект, который вы использовали для оценки sys.

Для получения дополнительной информации об этом свойстве см. «Влияние Входа Межвыборки поведения на модели непрерывного времени».

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

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

Для системы MIMO с Ny выходами и Nu входами установите IODelay как Ny -by - Nu массив. Каждый элемент этого массива является числовым значением, представляющим транспортную задержку для соответствующей пары вход-выход. Можно задать IODelay к скалярному значению, чтобы применить ту же задержку ко всем парам вход-выход.

Входная задержка для каждого входного канала, заданная как скалярное значение или числовой вектор. Для систем непрерывного времени задайте задержки на входе в модуле времени, сохраненной в TimeUnit свойство. Для систем в дискретном времени задайте входные задержки в целочисленных множителях шага расчета Ts. Для примера установка InputDelay на 3 задает задержку в три шагов расчета.

Для системы с Nu входами установите InputDelay к Nu -by-1 вектору. Каждый элемент этого вектора является числовым значением, которое представляет входу задержку для соответствующего канала входа.

Можно также задать InputDelay к скалярному значению, чтобы применить ту же задержку ко всем каналам.

Для идентифицированных систем, таких как idfrd, OutputDelay фиксируется в нуле.

Шаг расчета, заданный как один из следующих.

  • Модель в дискретном времени с заданным временем дискретизации - положительная скалярная величина, представляющая период дискретизации, выраженный в модуле, заданной TimeUnit свойство модели

  • Модель в непрерывном времени - 0

  • Модель в дискретном времени с неопределенным шагом расчета - -1

Изменение этого свойства не дискретизирует и не переопределяет модель. Использовать c2d и d2c для преобразования между представлениями непрерывного и дискретного времени. Использовать d2d для изменения шага расчета системы дискретного времени.

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

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Изменение этого свойства не приводит к повторному сбору или преобразованию данных. Изменение свойства изменяет только интерпретацию существующих данных. Использовать chgTimeUnit (Control System Toolbox) для преобразования данных в различные временные модули

Входные имена каналов, заданные как вектор символов или массив ячеек.

  • Модель с одним входом - Вектор символов. Для примера, 'controls'.

  • Мультивход - массив ячеек из символьных векторов.

Кроме того, используйте автоматическое расширение вектора, чтобы назначить входные имена для мультивходов. Для примера, если sys является моделью с двумя входами, введите:

sys.InputName = 'controls';

Имена входа автоматически расширяются на {'controls(1)';'controls(2)'}.

Когда вы оцениваете модель, используя iddata data объектапрограммное обеспечение автоматически устанавливает InputName на data.InputName.

Можно использовать сокращённое обозначение u для ссылки на InputName свойство. Для примера, sys.u эквивалентно sys.InputName.

Можно использовать имена входных каналов несколькими способами, включая:

  • Идентифицировать каналы на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Чтобы задать точки соединения при соединении моделей

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

  • Модель с одним входом - Вектор символов

  • Мультивход - массив ячеек из символьных векторов

Использование InputUnit отслеживать модули входных сигналов. InputUnit не влияет на поведение системы.

Входные группы каналов, заданные как структура. The InputGroup свойство позволяет вам разделить входные каналы систем MIMO на группы, так что вы можете ссылаться на каждую группу по имени. В InputGroup структура, задать имена полей в имена групп и значения полей в входных каналах, принадлежащих каждой группе.

Для примера создайте вход группы с именем controls и noise которые включают входные каналы 1 и 2 и каналы 3 и 5 соответственно.

sys.InputGroup.controls = [1 2];
sys.InputGroup.noise = [3 5];

Затем можно извлечь подсистему из controls входы ко всем выходам с использованием следующего синтаксиса:

sys(:,'controls')

Выходы каналов, заданные как вектор символов или массив ячеек.

  • Модель с одним входом - Вектор символов. Для примера, 'measurements'

  • Мультивход - Массив ячеек из символьных векторов

Кроме того, используйте автоматическое расширение вектора, чтобы назначить имена выходов для мультивыходов. Для примера, если sys является двухвыпускной моделью, введите:

sys.OutputName = 'measurements';

Выходы данных автоматически расширяются на {'measurements(1)';'measurements(2)'}.

Когда вы оцениваете модель, используя iddata data объектапрограммное обеспечение автоматически устанавливает OutputName на data.OutputName.

Можно использовать сокращённое обозначение y для ссылки на OutputName свойство. Для примера, sys.y эквивалентно sys.OutputName.

Можно использовать имена выходных каналов несколькими способами, включая:

  • Идентифицировать каналы на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Чтобы задать точки соединения при соединении моделей

Выход модулей канала, заданный как вектор символов или массив ячеек.

  • Модель с одним входом - Вектор символов. Для примера, 'seconds'.

  • Мультивход - массив ячеек из символьных векторов.

Использование OutputUnit отслеживать выход модулей сигнала. OutputUnit не влияет на поведение системы.

Выходные группы каналов, заданные как структура. The OutputGroup свойство позволяет вам разделить выходные каналы систем MIMO на группы и ссылаться на каждую группу по имени. В OutputGroup структура, задать имена полей в имена групп и значения полей в выходных каналах, принадлежащих каждой группе.

Для примера создайте выход группы с именем temperature и measurement которые включают выходной канал 1 и каналы 3 и 5 соответственно.

sys.OutputGroup.temperature = [1];
sys.OutputGroup.measurement = [3 5];

Затем можно извлечь подсистему из всех входов в measurement выводится с использованием следующего синтаксиса.

sys('measurement',:)

Имя системы, заданное как вектор символов. Для примера, 'system_1'.

Любой текст, который вы хотите связать с системой, заданный как строка или массив ячеек из векторов символов. Свойство сохраняет любой тип данных, которые вы предоставляете. Для образца, если sys1 и sys2 являются динамические системы моделями, можно задать их Notes свойства следующим образом.

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 has a character vector.'

Данные для связи с системой, заданные как любой тип данных MATLAB.

Сетка дискретизации для массивов моделей, заданная как структура.

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

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

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

nominal_engine_rpm = [1000 5000 10000];
sys.SamplingGrid = struct('rpm', nominal_engine_rpm)

Здесь, sys - массив, содержащий три идентифицированные модели, полученные при 1000, 5000 и 10 000 об/мин соответственно.

Для массивов моделей, которые вы генерируете путем линеаризации Simulink® моделируйте в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет SamplingGrid автоматически со значениями переменных, соответствующими каждой записи в массиве.

Это свойство доступно только для чтения.

Сводный отчет, который содержит информацию об опциях оценки и результатах, когда модель частотной характеристики получена с помощью команд оценки, таких как spa, spafdr, и etfe. Использование Report запросить модель для того, как она была оценена, включая ее:

  • Метод оценки

  • Опции оценки

Содержимое Report нерелевантны, если модель была создана конструкцией.

f = logspace(-1,1,100);
[mag,phase] = bode(idtf([1 .2],[1 2 1 1]),f);
response = mag.*exp(1j*phase*pi/180);
sysfr = idfrd(response,f,0.08);
sysfr.Report.Method
ans =

     ''

Если вы получаете модель частотной характеристики с помощью команд оценки, поля Report содержат информацию о данных оценки, опциях и результатах.

load iddata3;
sysfr = spa(z3);sysfr.Report.Method
ans =

SPA

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

Функции объекта

Многие функции, применимые к динамическим системным моделям, также применимы к idfrd объект модели. Эти функции имеют три общих типа.

  • Функции, которые работают и возвращают idfrd объекты модели позволяют вам преобразовывать и манипулировать idfrd модели.

  • Функции, которые выполняют аналитические и симуляционные функции на idfrd объекты, такие как bode и sim

  • Функции, которые извлекают или интерпретируют информацию о модели, такие как getcov

В отличие от других идентифицированных линейных моделей, вы не можете непосредственно преобразовать idfrd модель в другой тип модели с помощью таких команд, как idss или idtf. Вместо этого используйте команду оценки для модели, которую вы хотите, используя idfrd объект как данные оценки. Для образца используйте sys = ssest(sysfr,2) для оценки модели пространства состояний второго порядка из данных частотной характеристики в idfrd модели sysfr. Для примера использования idfrd объект как данные оценки, см. Оценка модели временной области с использованием данных частотной характеристики.

Следующие списки содержат репрезентативное подмножество функций, которые можно использовать с idss модели.

расширить все

chgTimeUnitИзменение временных модулей динамической системы
chgFreqUnitИзменение частотных модулей модели данных частотной характеристики
fselectВыберите частотные точки или область значений в модели FRD
frdataДоступ к данным для объекта данных частотной характеристики (FRD)
fcatКонкатенация моделей FRD по частотной размерности

расширить все

bodeДиаграмма Боде частотной характеристики, или данные величины и фазы
spectrumПостройте или верните спектр выходной степени модели временных рядов или спектра нарушения порядка линейной модели вход-выход

расширить все

getДоступ к значениям свойств модели
getcovПараметрическая ковариация идентифицированной модели

Примеры

свернуть все

Создайте idfrd объект из данных частотной характеристики.

Загрузите величину данных AMP, данные фазы PHA, и вектор частоты W. Установите шаг расчета Ts до 0,1.

load demofr AMP PHA W
Ts = 0.1;

Используйте значения AMP и PHA вычисление комплексного отклика response.

response = AMP.*exp(1j*PHA*pi/180);

Создайте idfrd object для хранения response в idfrd frdata объекта.

frdata = idfrd(response,W,Ts)
frdata =
IDFRD model.
Contains Frequency Response Data for 1 output(s) and 1 input(s).
Response data is available at 1000 frequency points, ranging from 0.03142 rad/s to 31.42 rad/s.
 
Sample time: 0.1 seconds
Status:                                                         
Created by direct construction or transformation. Not estimated.

Постройте график данных.

bode(frdata)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents frdata. Axes 2 contains an object of type line. This object represents frdata.

frdata является комплексным idfrd объект со свойствами объекта, к которым можно получить доступ с помощью записи через точку. Например, подтвердите значение Ts.

tsproperty = frdata.Ts
tsproperty = 0.1000

Можно также задать значения свойств. Установите Name свойство к 'DC_Converter'.

frdata.Name = 'DC_Converter';

Если вы импортируете frdata в System Identification приложение называет эти данные DC_Converter, а не имя переменной frdata.

Использование get для получения полного набора настроек свойств.

get(frdata)
      FrequencyUnit: 'rad/TimeUnit'
             Report: [1x1 idresults.frdest]
       SpectrumData: []
     CovarianceData: []
    NoiseCovariance: []
        InterSample: {'zoh'}
       ResponseData: [1x1x1000 double]
            IODelay: 0
         InputDelay: 0
        OutputDelay: 0
                 Ts: 0.1000
           TimeUnit: 'seconds'
          InputName: {''}
          InputUnit: {''}
         InputGroup: [1x1 struct]
         OutputName: {''}
         OutputUnit: {''}
        OutputGroup: [1x1 struct]
              Notes: [0x1 string]
           UserData: []
               Name: 'DC_Converter'
       SamplingGrid: [1x1 struct]
          Frequency: [1000x1 double]

Преобразуйте модель пространства состояний в модель частотной характеристики с помощью idfrd команда.

Загрузите данные z2 и оцените модель пространства состояний второго порядка sys.

load iddata2 z2
sys = ssest(z2,2);

Преобразование sys на idfrd модели frsys.

frsys = idfrd(sys)
frsys =
IDFRD model.
Contains Frequency Response Data for 1 output(s) and 1 input(s), and the spectra for disturbances at the outputs.
Response data and disturbance spectra are available at 68 frequency points, ranging from 0.1 rad/s to 1000 rad/s.
 
Output channels: 'y1'
Input channels: 'u1'
Status:                               
Created by conversion from idss model.

График frsys.

bode(frsys)

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains an object of type line. This object represents frsys. Axes 2 contains an object of type line. This object represents frsys.

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

Получите частотную характеристику модели передаточной функции и преобразуйте характеристику в idfrd объект.

Создайте модель передаточной функции с одним нулем и тремя полюсами.

systf = idtf([1 .2],[1 2 1 1]);

Использование bode для получения частотной характеристики systf, с точки зрения величины и фазы, для частотного вектора f.

f = logspace(-1,1,100);
[mag,phase] = bode(systf,f);

Используйте значения mag и phase вычисление комплексного отклика response.

response = mag.*exp(1j*phase*pi/180);

Создайте idfrd frdata объекта для хранения response, определение частоты дискретизации Ts от 0,8.

Ts = 0.8;
frdata = idfrd(response,f,Ts)
frdata =
IDFRD model.
Contains Frequency Response Data for 1 output(s) and 1 input(s).
Response data is available at 100 frequency points, ranging from 0.1 rad/s to 10 rad/s.
 
Sample time: 0.8 seconds
Status:                                                         
Created by direct construction or transformation. Not estimated.

Постройте график данных.

bode(frdata)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents frdata. Axes 2 contains an object of type line. This object represents frdata.

frdata является комплексным idfrd объект.

Оцените модель передаточной функции из данных временной области и преобразовайте полученную idtf модель в idfrd модель. Оцените новую модель передаточной функции из данных частотной характеристики в idfrd модель. Сравните ответы модели с исходными данными.

Загрузка данных во временной z2 и используйте его для оценки передаточной функции sys который имеет два полюса и один нуль.

load iddata2 z2
sys = tfest(z2,2,1);

Преобразование sys в idfrd модели и построения графика частотной характеристики.

frsys = idfrd(sys);
bode(sys)

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains an object of type line. This object represents sys. Axes 2 contains an object of type line. This object represents sys.

Оцените новую передаточную функцию sys1 использование данных из frsys в качестве данных оценки.

sys1 = tfest(frsys,2,1);

Сравнение ответов sys и sys1 с исходными данными оценки z2.

compare(z2,sys,sys1)

Figure contains an axes. The axes contains 3 objects of type line. These objects represent z2 (y1), sys: 85.71%, sys1: 85.71%.

Ответы модели идентичны.

Представлено до R2006a