Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

iddata

Datos de entrada-salida y sus propiedades para la identificación del sistema en el dominio del tiempo o la frecuencia

Descripción

Utilice el objeto iddata para encapsular datos de medición de entrada y salida para el sistema que desea identificar. Las funciones de identificación del sistema utilizan estas mediciones para estimar un modelo. Las funciones de validación del modelo utilizan las mediciones de entrada para proporcionar la entrada para las simulaciones y las mediciones de salida para comparar qué tan bien la respuesta estimada del modelo se ajusta a los datos originales.

Los objetos iddata pueden contener un único conjunto de medidas o varios conjuntos. Cada conjunto de datos corresponde a un experimento. Los objetos tienen las siguientes características, que están codificadas en las propiedades del objeto:

  • Los datos pueden estar en el dominio de la frecuencia o en el dominio del tiempo. Puede convertir objetos de un dominio a otro.

  • En el dominio del tiempo, los datos pueden muestrearse de manera uniforme o no uniforme. Sin embargo, para utilizar el objeto iddata con fines de estimación, los datos deben muestrearse de manera uniforme y los datos de entrada y salida de cada experimento deben registrarse en los mismos instantes de tiempo.

  • Puede especificar propiedades de datos, como el tiempo de muestra, el tiempo de inicio, los puntos de tiempo, los puntos de muestra de frecuencia y el comportamiento entre muestras.

  • Puede proporcionar etiquetas y comentarios para diferenciar y anotar componentes de datos, experimentos y el objeto en su totalidad.

Para acceder a las propiedades del objeto, utilice la notación de puntos. Por ejemplo, supongamos que crea un objeto iddata con el comando sys = iddata(ym,um,Tsamp), donde ym son datos de salida medidos, um son datos de entrada medidos y Tsamp es el tiempo de muestra. iddata almacena estas variables en las propiedades InputData, OutputData y Ts, respectivamente. Puede ver o modificar los datos utilizando sys.InputData, sys.OutputData y sys.Ts. Para ver un ejemplo de cómo utilizar la notación de puntos para ver y modificar propiedades, consulte Ver y modificar propiedades.

Creación

Descripción

Utilizar datos del dominio del tiempo

data = iddata(y,u,Ts) crea un objeto iddata que contiene una señal de salida de dominio de tiempo y y una señal de entrada u. Ts especifica el tiempo de muestra de los datos experimentales.

Puede utilizar iddata para crear un objeto multiexperimento iddata especificando y y u como arreglos de celdas. Como alternativa, puede crear objetos iddata de un solo experimento y utilizar merge (iddata) para combinar los objetos en un objeto iddata de múltiples experimentos. Para obtener más información sobre los objetos multiexperimento iddata, consulte Create Multiexperiment Data at the Command Line.

ejemplo

data = iddata(y,[],Ts) crea un objeto iddata para datos de series temporales. El objeto contiene una señal de salida de dominio de tiempo y y una señal de entrada vacía []. Ts especifica el tiempo de muestra de los datos experimentales.

ejemplo

data = iddata(tt) crea un objeto iddata a partir del horario tt.

El software extrae los nombres de las variables y el tiempo de muestra de tt.

De forma predeterminada, el software interpreta la última variable en tt como el canal de salida único y todas las demás variables son canales de entrada. Para cambiar esta interpretación, configure las propiedades 'InputName' y 'OutputName' utilizando argumentos de nombre-valor.

ejemplo

Utilice datos del dominio de frecuencia

data = iddata(y,u,Ts,'Frequency',W) crea un objeto iddata que contiene datos del dominio de la frecuencia. W establece la propiedad iddata Frequency en un vector de frecuencias. Normalmente, y y u son la transformada de Fourier discreta de señales del dominio del tiempo.

ejemplo

Configurar propiedades adicionales

data = iddata(___,Name,Value) establece propiedades adicionales utilizando argumentos de nombre-valor. Especifique Name,Value después de cualquiera de las combinaciones de argumentos de entrada en las sintaxis anteriores.

ejemplo

Argumentos de entrada

expandir todo

Señal de salida de un sistema, especificada como una de las siguientes:

  • Un vector N por 1 para un sistema de salida única, donde N es el número de observaciones

  • Una matriz N por Ny para un sistema de salida múltiple, donde Ny es el número de canales de salida

  • Un arreglo de celdas de elementos Ne para un conjunto de datos de múltiples experimentos, donde Ne es el número de experimentos y cada celda contiene las señales de salida para un experimento.

  • [] para un sistema que no tiene señal de salida, como cuando solo se graba la señal de entrada

y debe estar en el mismo dominio que los datos de entrada u. Si los datos están en el dominio del tiempo, y y u deben registrarse en los mismos instantes de tiempo.

Si utiliza el objeto iddata para la estimación, y y u deben muestrearse uniformemente. Si la no uniformidad es pequeña, es posible que pueda convertir sus datos en un conjunto muestreado uniformemente con suficiente integridad para que los datos convertidos admitan la estimación. Para obtener más información sobre las técnicas que puede probar, consulta interp1 y Datos que faltan en MATLAB.

y establece la propiedad OutputData del objeto iddata.

Señal de entrada a un sistema, especificada como una de las siguientes:

  • Un vector N por 1 para un sistema de entrada único, donde N es el número de observaciones

  • Una matriz N por Nu para un sistema de múltiples entradas, donde Nu es el número de canales de entrada

  • Un arreglo de celdas de elementos Ne para un conjunto de datos de múltiples experimentos, donde Ne es el número de experimentos y cada celda contiene las señales de entrada para un experimento.

  • [] para un sistema que no tiene señal de entrada, como una serie de tiempo

u debe estar en el mismo dominio que los datos de salida y. Si los datos están en el dominio del tiempo, y y u deben registrarse en los mismos instantes de tiempo.

Si utiliza el objeto iddata para la estimación, y y u deben muestrearse uniformemente. Si la no uniformidad es pequeña, es posible que pueda convertir sus datos en un conjunto muestreado uniformemente con suficiente integridad para que los datos convertidos admitan la estimación. Para obtener más información sobre las técnicas que puede probar, consulta interp1 y Datos que faltan en MATLAB.

u establece la propiedad InputData del objeto iddata.

Tabla de tiempos de señales de entrada y salida, especificada como una tabla de tiempos que utiliza un vector de tiempo regularmente espaciado.

Para datos de múltiples experimentos, especifique tt como un arreglo de celdas de Ne por 1, donde Ne es el número de experimentos.

Para identificar qué variables son señales de entrada y cuáles son señales de salida, o extraer un subconjunto de las variables para la conversión, configure las propiedades 'InputName' y 'OutputName' usando argumentos de nombre-valor.

Tiempo de muestra en las unidades especificadas por la propiedad TimeUnit, especificada como una de las siguientes:

  • Un escalar cuando y y u se muestrean uniformemente.

  • 0 para datos de tiempo continuo en el dominio de la frecuencia.

  • [] cuando y y u no se muestrean uniformemente y se especifican los valores de tiempo en la propiedad SamplingInstants. Para un muestreo no uniforme, y y u deben estar en el dominio del tiempo.

Ts establece la propiedad Ts del objeto iddata.

Propiedades

expandir todo

Datos en el dominio del tiempo o de la frecuencia, especificados como:

  • 'Time' — Los datos están en el dominio del tiempo

  • 'Frequency' — Los datos están en el dominio de la frecuencia

Nombre de cada conjunto de datos contenido en el objeto iddata, especificado como un arreglo de celdas de vectores de caracteres Ne por 1 donde Ne es el número de experimentos. Cada celda contiene el nombre del experimento correspondiente. Por ejemplo, {'MyMeas1';'MyMeas2';'MyMeas3'} contiene nombres de experimentos para un objeto iddata de tres experimentos.

Valores de frecuencia para datos del dominio de frecuencia, especificados como:

  • Un vector N por 1, donde N es el número de valores de frecuencia en un solo experimento

  • Un arreglo de celdas de 1 por Ne, donde Ne es el número de experimentos y cada celda contiene el vector de frecuencia del experimento correspondiente. Todos los vectores de frecuencia deben estar en las mismas unidades.

Unidades de frecuencia para datos del dominio de la frecuencia, especificadas como una de las siguientes:

  1. Un escalar para un solo experimento.

    Un arreglo de celdas de 1 por Ne, donde Ne es el número de experimentos. Como todos los vectores Frequency deben tener las mismas unidades, todos los valores de FrequencyUnit deben ser iguales.

Cambiar esta propiedad no escala ni convierte los datos. Cuando se modifica la propiedad cambia solo la interpretación de los datos existentes.

Valores de señal de entrada al sistema, especificados como uno de los siguientes:

  • Para un solo experimento, una matriz N por Nu, donde N es el número de muestras de datos y Nu es el número de canales de entrada

  • Para experimentos múltiples, un arreglo de celdas que contiene Ne arreglos de un solo experimento, donde Ne es el número de experimentos.

Al acceder a InputData desde la línea de comandos, puede utilizar la forma abreviada u. Por ejemplo, u1 = data.InputData es equivalente a u1 = data.u.

Nombres de canales de entrada, especificados como un arreglo de celdas Nu por 1, donde Nu es el número de canales de entrada.

Unidades de canal de entrada, especificadas como un arreglo de celdas Nu por 1, donde Nu es el número de canales de entrada. Cada celda contiene las unidades del canal de entrada correspondiente.

Ejemplo: {'rad';'rad/s'}

Comportamiento entre muestras para transformaciones entre tiempo discreto y tiempo continuo, especificado como un vector de caracteres o como un arreglo de celdas de vectores de caracteres. Para cada experimento, los valores posibles para cada canal de entrada son:

  • zoh — La retención de orden cero mantiene una señal de entrada constante por partes entre muestras.

  • foh — La retención de primer orden mantiene una señal de entrada lineal por partes entre muestras.

  • bl — El comportamiento de banda limitada especifica que la señal de entrada de tiempo continuo tiene potencia cero por encima de la frecuencia de Nyquist.

Para un solo experimento con un solo canal de entrada, InterSample contiene uno de los valores de la lista anterior. Para experimentos múltiples, InterSample es un arreglo de celdas Nu por Ne, donde Nu es el número de canales de entrada y Ne es el número de experimentos. Cada celda contiene el valor de comportamiento asociado con el experimento y el canal de entrada que representa la celda.

Nombre del conjunto de datos, especificado como un vector de caracteres.

Ejemplo: 'dryer data'

Comentarios sobre el conjunto de datos, especificados como un vector de caracteres o, para conjuntos de datos de múltiples experimentos, un arreglo de celdas de vectores de caracteres Ne por 1 donde Ne es el número de experimentos.

Ejemplo: {'data from experiment 1';data from experiment 2'}

Valores de la señal de salida del sistema, especificados como uno de los siguientes:

  • Para un solo experimento, una matriz N por Ny, donde N es el número de muestras de datos y Ny es el número de canales de salida

  • Para experimentos múltiples, un arreglo de celdas que contiene Ne arreglos de un solo experimento, donde Ne es el número de experimentos.

Al acceder a OutputData desde la línea de comandos, puede utilizar la forma abreviada y. Por ejemplo, y1 = data.InputData es equivalente a y1 = data.y.

Nombres de canales de salida, especificados como un arreglo de celdas Ny por 1, donde Ny es el número de canales de salida.

Unidades de canal de salida, especificadas como un arreglo de celdas Ny por 1, donde Nu es el número de canales de salida. Cada celda contiene las unidades del canal de entrada correspondiente.

Ejemplo: {'rad';'rad/s'}

Periodo de la señal de entrada, especificado como el doble para cada experimento. El valor es Inf para señales de entrada no periódicas o el período en las unidades especificadas por la propiedad TimeUnit para señales de entrada periódicas.

  • Para un solo experimento con un solo canal de entrada, Period contiene un solo valor.

  • Para un sistema de entradas múltiples, Period es un vector Nu por 1, donde Nu es el número de canales de entrada y la entrada k contiene el período de la entrada k.

  • Para datos de experimentos múltiples, Period es un arreglo de celdas de 1 por Ne, donde Ne es el número de experimentos y cada celda contiene un escalar o vector de períodos para el experimento correspondiente.

Valores de tiempo para datos del dominio del tiempo en unidades especificadas por TimeUnit, especificados como:

  • Un vector N por 1, donde N es el número de puntos de datos

  • Un arreglo de celdas de 1 por Ne, donde Ne es el número de experimentos y cada celda contiene los instantes de muestreo para el experimento correspondiente.

Los valores en SamplingInstants pueden ser uniformes o no uniformes. Si especifica la propiedad Ts, el software calcula valores de tiempo uniformes en SamplingInstants a partir de Ts y Tstart. Si tiene puntos de muestra no uniformes, especifique los valores de tiempo en SamplingInstants. A continuación, el software establece la propiedad Ts en vacía. Las funciones de estimación no admiten muestreo no uniforme.

Unidades para la variable tiempo y el tiempo de muestra, especificados como escalar. Esta propiedad se aplica a todos los experimentos del conjunto de datos.

Cuando se cambia esta propiedad no se remuestrean ni se convierten los datos. Cuando se modifica la propiedad cambia solo la interpretación de los datos existentes.

Tiempo de muestra en unidades especificadas por TimeUnit, especificado como un escalar o un arreglo de celdas. Para cada experimento, el valor es uno de los siguientes:

  • Un escalar, cuando y y u se muestrean uniformemente

  • 0 para datos de tiempo continuo en el dominio de la frecuencia

  • [] cuando y y u no se muestrean de manera uniforme y en el dominio del tiempo, porque la propiedad SamplingInstants establece los valores de tiempo para dichos datos.

Para un solo experimento, Ts es un escalar. Para datos de múltiples experimentos, Ts es un arreglo de celdas de 1 por Ne, donde Ne es el número de experimentos y cada celda contiene el tiempo de muestra para el experimento correspondiente.

Para los datos del dominio de frecuencia, el software utiliza Ts para interpretar los datos.

  • Si Ts es 0, el software interpreta las entradas y salidas como transformadas de Fourier de tiempo continuo (CTFT) de las señales correspondientes.

  • Si Ts es un escalar, el software interpreta las entradas y salidas como transformadas de Fourier de tiempo discreto (DTFT) de las señales correspondientes con Ts como tiempo de muestra.

Hora de inicio para los datos del dominio del tiempo, especificada como:

  • Un escalar para un solo experimento

  • Un arreglo de celdas de 1 por Ne para múltiples experimentos, donde Ne es el número de experimentos y cada celda contiene la hora de inicio del experimento correspondiente.

Comentarios adicionales sobre el conjunto de datos, especificados como cualquier tipo de datos MATLAB.

Funciones del objeto

En general, cualquier función aplicable a los datos de identificación del sistema es aplicable a un objeto iddata. Estas funciones son de tres tipos generales.

  1. Las funciones que operan y devuelven objetos iddata permiten manipular y procesar objetos iddata.

    • Utilice fft y ifft para transformar objetos iddata existentes hacia y desde los dominios de tiempo y frecuencia. Por ejemplo:

      datafd = fft(Data);
      datatd = ifft(Dataf);

    • Utilice merge (iddata) para fusionar objetos iddata en un único objeto iddata que contenga múltiples experimentos. Para extraer un experimento de un objeto multiexperimento iddata, utilice getexp . Por ejemplo:

      data123 = merge(data1,data2,data3);
      data2 = getexp(data123,2);
      

      Para ver un ejemplo más detallado, consulte Extract and Model Specific Data Segments.

    • Utilice funciones de preprocesamiento como detrend o idfilt para filtrar datos en objetos iddata y eliminar datos erróneos. Por ejemplo:

      data_d = detrend(data);
      data_f = idfilt(data,filter);

  2. Las funciones que realizan procesamiento analítico en objetos iddata y crean gráficos o devuelven parámetros o valores específicos permiten analizar datos y determinar entradas para usar en la estimación.

    • Utilice funciones de análisis como delayest y spa para calcular variables como el retardo de tiempo y el espectro de frecuencia.

  3. Las funciones que utilizan los datos de los objetos iddata para estimar, simular y validar modelos permiten crear modelos dinámicos y evaluar qué tan cerca está la respuesta del modelo de los datos de validación.

    • Utilice funciones de estimación como ssest y tfest para estimar modelos con estructuras específicas.

    • Utilice funciones de validación como compare y sim para simular modelos estimados y comparar los resultados simulados con datos de validación y con otros modelos.

    Las siguientes listas contienen un subconjunto representativo de las funciones que puede utilizar con objetos iddata.

expandir todo

idplotPlot input and output channels of estimation data
getexpGet specific experiments from multiple-experiment data set
merge (iddata)Merge data sets into iddata object
detrendSubtract offset or trend from time-domain signals contained in iddata objects
retrendAdd offsets or trends to time-domain data signals stored in iddata objects
idfiltFilter data using user-defined passbands, general filters, or Butterworth filters
diffSeñales de diferencia en objetos iddata
misdataReconstruct missing input and output data
idresampResample time-domain data by decimation or interpolation
fftFast Fourier transform (FFT) of iddata object
ifftTransform iddata objects from frequency to time domain
realdataDetermine whether iddata is based on real-valued signals
delayestEstimate time delay (dead time) from data
isrealDetermine whether model parameters or data values are real
impulseestNonparametric impulse response estimation
pexcitLevel of excitation of input signals
checkFeedbackIdentify possible feedback data
etfeEstimate empirical transfer functions and periodograms
spafdrEstimate frequency response and spectrum using spectral analysis with frequency-dependent resolution
spaEstimate frequency response with fixed frequency resolution using spectral analysis
dataPlotOptionsOption set for idplot when plotting input/output estimation data contained in a timetable, numeric matrices, or an iddata object
ssestEstimate state-space model using time-domain or frequency-domain data
tfestEstimate transfer function model
arEstimate parameters when identifying AR model or ARI model for scalar time series
simSimulate response of identified model
findstatesEstimate initial states of model
compareCompare identified model output with measured output
predictPredecir la salida del modelo identificado con K pasos de anticipación
goodnessOfFitGoodness of fit between test and reference data for analysis and validation of identified models
procestEstimate process model using time-domain or frequency-domain data
residCompute and test residuals

Ejemplos

contraer todo

Cree un objeto iddata utilizando datos de dominio de tiempo de entrada única/salida única (SISO). La entrada y la salida contienen cada una 1000 muestras con un tiempo de muestreo de 0,08 segundos.

load dryer2_data output input;
data = iddata(output,input,0.08)
data =

Time domain data set with 1000 samples.
Sample time: 0.08 seconds               
                                        
Outputs      Unit (if specified)        
   y1                                   
                                        
Inputs       Unit (if specified)        
   u1                                   
                                        

El software asigna el nombre de canal predeterminado 'y1' al primer y único canal de salida. Cuando la señal de salida contiene varios canales, el software asigna los nombres predeterminados 'y1','y2',...,'yn'. De manera similar, el software asigna el nombre de canal predeterminado 'u1' al primer y único canal de entrada. Para obtener más información sobre cómo nombrar canales, consulte Naming, Adding, and Removing Data Channels.

Graficar los datos.

idplot(data)

Figure contains 2 axes objects. Axes object 1 with title y1 contains an object of type line. This object represents data. Axes object 2 with title u1 contains an object of type line. This object represents data.

Los gráficos adyacentes muestran datos de salida y datos de entrada.

Crea un objeto iddata a partir de datos de series temporales. Los datos de series temporales no tienen canal de entrada.

Cargue el canal de salida de un conjunto de datos y cree un objeto iddata que tenga un tiempo de muestra de 0,08 segundos.

load dryer2_data output
data = iddata(output,[],0.08)
data =

Time domain data set with 1000 samples.
Sample time: 0.08 seconds               
                                        
Outputs      Unit (if specified)        
   y1                                   
                                        

Graficar los datos.

idplot(data)

Figure contains an axes object. The axes object with title y1 contains an object of type line. This object represents data.

Puede utilizar data para la estimación de modelos de series temporales.

Cargue los datos del horario tt7 y muestre las primeras cuatro filas.

load sdata7 tt7
head(tt7,4)
      t      u1      u2           y    
    _____    __    _______    _________

    1 sec     1     0.2749    -0.091981
    2 sec    -1    0.25148      0.22567
    3 sec    -1     1.2381     -0.28617
    4 sec    -1    -1.2216       1.4581

tt7 tiene dos entradas, con nombres de variables u1 y u2 y una salida con nombre de variable y. Convierte tt7 en un objeto iddata.

z7conv = iddata(tt7)
z7conv =

Time domain data set with 400 samples.
Sample time: 1 seconds                 
                                       
Outputs      Unit (if specified)       
   y                                   
                                       
Inputs       Unit (if specified)       
   u1                                  
   u2                                  
                                       
z7conv.OutputName
ans = 1×1 cell array
    {'y'}

z7conv.InputName
ans = 2×1 cell
    {'u1'}
    {'u2'}

z7conv conserva el tiempo de muestra y almacena los nombres de las variables en las propiedades OutputName y InputName.

Cree y examine un objeto iddata a partir de datos de entrada-salida del dominio de frecuencia con valores complejos. Convierte el objeto al dominio del tiempo.

Los datos de entrada y salida a veces se expresan en forma de transformadas de Fourier de señales de entrada-salida del dominio del tiempo. Puede encapsular estos datos en un objeto iddata de dominio de frecuencia.

Cargue los datos, que consisten en los datos de dominio de frecuencia de entrada-salida de valor complejo U y Y, el vector de frecuencia W y el tiempo de muestra Ts.

load demofr1 U Y W Ts

Crea el objeto de dominio de frecuencia iddata data_fr.

data_fr = iddata(Y,U,Ts,'Frequency',W)
data_fr =

Frequency domain data set with responses at 501 frequencies.
Frequency range: 0 to 31.416 rad/seconds
Sample time: 0.1 seconds                                                                              
                                                                                                      
Outputs      Unit (if specified)                                                                      
   y1                                                                                                 
                                                                                                      
Inputs       Unit (if specified)                                                                      
   u1                                                                                                 
                                                                                                      

Examinar las propiedades. Los objetos de dominio de frecuencia iddata incluyen propiedades específicas de la frecuencia, como Frequency para el vector de frecuencia y FrequencyUnit para las unidades de frecuencia. Por el contrario, los objetos de dominio de tiempo iddata incluyen propiedades específicas del tiempo como Tstart y SamplingInstants para datos de dominio de tiempo.

get(data_fr)
ans = struct with fields:
            Domain: 'Frequency'
              Name: ''
        OutputData: [501x1 double]
                 y: 'Same as OutputData'
        OutputName: {'y1'}
        OutputUnit: {''}
         InputData: [501x1 double]
                 u: 'Same as InputData'
         InputName: {'u1'}
         InputUnit: {''}
            Period: Inf
       InterSample: 'zoh'
                Ts: 0.1000
     FrequencyUnit: 'rad/TimeUnit'
         Frequency: [501x1 double]
          TimeUnit: 'seconds'
    ExperimentName: 'Exp1'
             Notes: {}
          UserData: []

Asigna el contenido de la propiedad de frecuencia a la variable F.

F = data_fr.Frequency;

Obtenga las unidades de frecuencia de los datos. La propiedad TimeUnit establece las unidades del tiempo de muestra.

frequ = data_fr.FrequencyUnit
frequ = 
'rad/TimeUnit'
timeu = data_fr.TimeUnit
timeu = 
'seconds'

Convierta data_fr nuevamente al dominio del tiempo utilizando la función de transformada de Fourier inversa ifft.

data_t = ifft(data_fr)
data_t =

Time domain data set with 1000 samples.
Sample time: 0.1 seconds                
                                        
Outputs      Unit (if specified)        
   y1                                   
                                        
Inputs       Unit (if specified)        
   u1                                   
                                        
get(data_t)
ans = struct with fields:
              Domain: 'Time'
                Name: ''
          OutputData: [1000x1 double]
                   y: 'Same as OutputData'
          OutputName: {'y1'}
          OutputUnit: {''}
           InputData: [1000x1 double]
                   u: 'Same as InputData'
           InputName: {'u1'}
           InputUnit: {''}
              Period: Inf
         InterSample: 'zoh'
                  Ts: 0.1000
              Tstart: 0.1000
    SamplingInstants: [1000x1 double]
            TimeUnit: 'seconds'
      ExperimentName: 'Exp1'
               Notes: {}
            UserData: []

Ver propiedades de un objeto iddata. Modificar las propiedades tanto durante como después de la creación del objeto.

Cargar datos de entrada y salida.

load dryer2_data input output

Crea un objeto iddata.

data = iddata(output,input,0.08)
data =

Time domain data set with 1000 samples.
Sample time: 0.08 seconds               
                                        
Outputs      Unit (if specified)        
   y1                                   
                                        
Inputs       Unit (if specified)        
   u1                                   
                                        

Ver todas las propiedades del objeto iddata.

get(data)
ans = struct with fields:
              Domain: 'Time'
                Name: ''
          OutputData: [1000x1 double]
                   y: 'Same as OutputData'
          OutputName: {'y1'}
          OutputUnit: {''}
           InputData: [1000x1 double]
                   u: 'Same as InputData'
           InputName: {'u1'}
           InputUnit: {''}
              Period: Inf
         InterSample: 'zoh'
                  Ts: 0.0800
              Tstart: 0.0800
    SamplingInstants: [1000x1 double]
            TimeUnit: 'seconds'
      ExperimentName: 'Exp1'
               Notes: {}
            UserData: []

Puede especificar propiedades cuando crea un objeto iddata utilizando argumentos de pares nombre-valor. Cree un objeto iddata a partir de las mismas entradas de datos, pero cambie el nombre del experimento de su configuración predeterminada a Dryer2.

data = iddata(output,input,0.08,'ExperimentName','Dryer2')
data =

Experiment Dryer2.Time domain data set with 1000 samples.
Sample time: 0.08 seconds                                 
                                                          
Outputs      Unit (if specified)                          
   y1                                                     
                                                          
Inputs       Unit (if specified)                          
   u1                                                     
                                                          

Para cambiar los valores de propiedad de un objeto iddata existente, utilice la notación de puntos. Cambie la propiedad de tiempo de muestra Ts a 0,05 segundos.

data.Ts = 0.05
data =

Experiment Dryer2.Time domain data set with 1000 samples.
Sample time: 0.05 seconds                                 
                                                          
Outputs      Unit (if specified)                          
   y1                                                     
                                                          
Inputs       Unit (if specified)                          
   u1                                                     
                                                          

Los nombres de propiedad no distinguen entre mayúsculas y minúsculas. Además, si las primeras letras identifican de forma única la propiedad, no es necesario escribir el nombre completo de la propiedad.

data.exp = "Dryer2 January 2015"
data =

Experiment Dryer2 January 2015.Time domain data set with 1000 samples.
Sample time: 0.05 seconds                                              
                                                                       
Outputs                   Unit (if specified)                          
   y1                                                                  
                                                                       
Inputs                    Unit (if specified)                          
   u1                                                                  
                                                                       

Puede utilizar data.y como abreviatura de data.OutputData para acceder a los valores de salida, o utilizar data.u como abreviatura de data.InputData para acceder a los valores de entrada.

y_data = data.y;
u_data = data.u;

Historial de versiones

Introducido antes de R2006a

expandir todo