Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

iddata

Dati di input-output e relative proprietà per l'identificazione del sistema nel dominio del tempo o della frequenza

Descrizione

Utilizzare l'oggetto iddata per inglobare i dati di misurazione di input e output per il sistema che si desidera identificare. Le funzioni di identificazione del sistema utilizzano queste misurazioni per stimare un modello. Le funzioni di validazione del modello utilizzano le misurazioni di input per fornire l'input per le simulazioni e le misurazioni di output per confrontare in che misura la risposta stimata del modello si adatta ai dati originali.

Gli oggetti iddata possono contenere un singolo insieme di misurazioni o più insiemi. Ogni insieme di dati corrisponde a un esperimento. Gli oggetti hanno le seguenti caratteristiche, che sono codificate nelle proprietà dell'oggetto:

  • I dati possono essere nel dominio della frequenza o nel dominio del tempo. È possibile convertire gli oggetti da un dominio all'altro.

  • Nel dominio del tempo, i dati possono essere campionati in modo uniforme o non uniforme. Tuttavia, per utilizzare l'oggetto iddata per la stima, i dati devono essere campionati in modo uniforme e i dati di input e output per ogni esperimento devono essere registrati negli stessi istanti.

  • È possibile specificare le proprietà dei dati, come il tempo di campionamento, il tempo di inizio, i punti temporali, i punti di campionamento in frequenza e il comportamento intercampione.

  • È possibile fornire etichette e commenti per differenziare e annotare i componenti dei dati, gli esperimenti e l'oggetto nel suo complesso.

Per accedere alle proprietà dell'oggetto, utilizzare la notazione col punto. Ad esempio, si supponga di creare un oggetto iddata con il comando sys = iddata(ym,um,Tsamp), dove ym sono i dati di output misurati, um sono i dati di input misurati e Tsamp è il tempo di campionamento. iddata memorizza queste variabili rispettivamente nelle proprietà InputData, OutputData e Ts. È possibile visualizzare o modificare i dati utilizzando sys.InputData, sys.OutputData e sys.Ts. Per un esempio di utilizzo della notazione col punto per visualizzare e modificare le proprietà, vedere Visualizzazione e modifica delle proprietà.

Creazione

Descrizione

Utilizzo dei dati nel dominio del tempo

data = iddata(y,u,Ts) crea un oggetto iddata contenente un segnale di output y e un segnale di input u nel dominio del tempo. Ts specifica il tempo di campionamento dei dati sperimentali.

È possibile utilizzare iddata per creare un oggetto iddata con più esperimenti specificando y e u come array di celle. In alternativa, è possibile creare oggetti iddata con un singolo esperimento e utilizzare merge (iddata) per combinare gli oggetti in un unico oggetto iddata con più esperimenti. Per ulteriori informazioni sugli oggetti iddata con più esperimenti, vedere Create Multiexperiment Data at the Command Line.

esempio

data = iddata(y,[],Ts) crea un oggetto iddata per i dati delle serie temporali. L'oggetto contiene un segnale di output del dominio del tempo y e un segnale di input vuoto []. Ts specifica il tempo di campionamento dei dati sperimentali.

esempio

data = iddata(tt) crea un oggetto iddata dalla tabella orario tt.

Il software estrae i nomi delle variabili e il tempo di campionamento da tt.

Per impostazione predefinita, il software interpreta l'ultima variabile in tt come singolo canale di output, mentre tutte le altre variabili sono canali di input. Per modificare questa interpretazione, impostare le proprietà 'InputName' e 'OutputName' utilizzando gli argomenti nome-valore.

esempio

Utilizzo dei dati nel dominio della frequenza

data = iddata(y,u,Ts,'Frequency',W) crea un oggetto iddata contenente dati nel dominio della frequenza. W imposta la proprietà Frequency di iddata su un vettore di frequenze. In genere, y e u sono le trasformate discrete di Fourier dei segnali nel dominio del tempo.

esempio

Configurazione di ulteriori proprietà

data = iddata(___,Name,Value) imposta ulteriori proprietà utilizzando gli argomenti nome-valore. Specificare Name,Value dopo una qualsiasi delle combinazioni di argomenti di input nelle sintassi precedenti.

esempio

Argomenti di input

espandi tutto

Segnale di output da un sistema, specificato in uno dei seguenti modi:

  • Un vettore Nx1 per un singolo sistema di output, dove N è il numero di osservazioni

  • Una matrice N x Ny per un sistema a multiplo output, dove Ny è il numero di canali di output

  • Un array di celle di elementi Ne per un insieme di dati di più esperimenti, dove Ne è il numero di esperimenti e ogni cella contiene i segnali di output per un esperimento

  • [] per un sistema che non ha un segnale di output, come nel caso in cui viene registrato solo il segnale di input

y deve essere nello stesso dominio dei dati di input u. Se i dati sono nel dominio del tempo, y e u devono essere registrati negli stessi istanti.

Se si utilizza l'oggetto iddata per la stima, y e u devono essere campionati in modo uniforme. Se la non uniformità è ridotta, potrebbe essere possibile convertire i dati in un insieme campionato in modo uniforme con integrità sufficiente, in modo che i dati convertiti supportino la stima. Per ulteriori informazioni sulle tecniche che è possibile provare, vedere interp1 e Missing Data in MATLAB.

y imposta la proprietà OutputData dell'oggetto iddata.

Segnale di input a un sistema, specificato in uno dei seguenti modi:

  • Un vettore Nx1 per un singolo sistema di input, dove N è il numero di osservazioni

  • Una matrice N x Nu per un sistema a multiplo input, dove Nu è il numero di canali di input

  • Un array di celle di elementi Ne per un insieme di dati di più esperimenti, dove Ne è il numero di esperimenti e ogni cella contiene i segnali di input per un esperimento

  • [] per un sistema che non ha un segnale di input, come una serie temporale

u deve essere nello stesso dominio dei dati di output y. Se i dati sono nel dominio del tempo, y e u devono essere registrati negli stessi istanti.

Se si utilizza l'oggetto iddata per la stima, y e u devono essere campionati in modo uniforme. Se la non uniformità è ridotta, potrebbe essere possibile convertire i dati in un insieme campionato in modo uniforme con integrità sufficiente, in modo che i dati convertiti supportino la stima. Per ulteriori informazioni sulle tecniche che è possibile provare, vedere interp1 e Missing Data in MATLAB.

u imposta la proprietà InputData dell'oggetto iddata.

Tabella orario dei segnali di input e di output, specificata come tabella orario che utilizza un vettore di tempo regolarmente distanziato.

Per i dati di più esperimenti, specificare tt come un array di celle Nex1, dove Ne è il numero di esperimenti.

Per identificare quali variabili sono segnali di input e quali sono segnali di output o per estrarre un sottoinsieme di variabili per la conversione, impostare le proprietà 'InputName' e 'OutputName' utilizzando gli argomenti nome-valore.

Tempo di campionamento nelle unità specificate dalla proprietà TimeUnit, specificato in uno dei seguenti modi:

  • Uno scalare, quando y e u sono campionati in modo uniforme.

  • 0 per i dati a tempo continuo nel dominio della frequenza.

  • [] quando y e u non sono campionati in modo uniforme e si specificano i valori del tempo nella proprietà SamplingInstants. Per un campionamento non uniforme, y e u devono essere nel dominio del tempo.

Ts imposta la proprietà Ts dell'oggetto iddata.

Proprietà

espandi tutto

Dati nel dominio del tempo o della frequenza, specificati come:

  • 'Time': i dati si trovano nel dominio del tempo

  • 'Frequency': i dati si trovano nel dominio della frequenza

Nome di ogni insieme di dati contenuto nell'oggetto iddata, specificato come array di celle dei vettori di caratteri Nex1, dove Ne è il numero di esperimenti. Ogni cella contiene il nome dell'esperimento corrispondente. Ad esempio, {'MyMeas1';'MyMeas2';'MyMeas3'} contiene i nomi degli esperimenti per un oggetto iddata con tre esperimenti.

Valori di frequenza per i dati nel dominio della frequenza, specificati come:

  • Un vettore Nx1, dove N è il numero di valori di frequenza in un singolo esperimento

  • Un array di celle 1xNe, dove Ne è il numero di esperimenti e ogni cella contiene il vettore di frequenza per l'esperimento corrispondente. I vettori di frequenza devono essere tutti espressi nelle stesse unità.

Unità di frequenza per i dati del dominio della frequenza, specificata come scalare. Questa proprietà si applica a tutti gli elementi dell'insieme di dati.

La modifica di questa proprietà non comporta il ridimensionamento o la conversione dei dati. Modificando la proprietà si cambia solo l'interpretazione dei dati esistenti.

Valori del segnale di input al sistema, specificati in uno dei seguenti modi:

  • Per un singolo esperimento, una matrice N x Nu, dove N è il numero di campioni di dati e Nu è il numero di canali di input

  • Per più esperimenti, un array di celle contenente matrici per singolo esperimento Ne, dove Ne è il numero di esperimenti

Quando si accede a InputData dalla riga di comando, è possibile utilizzare la forma abbreviata u. Ad esempio, u1 = data.InputData equivale a u1 = data.u.

Nomi dei canali di input, specificati come array di celle Nux1, dove Nu è il numero di canali di input.

Unità del canale di input, specificata come array di celle Nux1, dove Nu è il numero di canali di input. Ogni cella contiene le unità del canale di input corrispondente.

Esempio {'rad';'rad/s'}

Comportamento intercampione per le trasformazioni tra tempo discreto e tempo continuo, specificato come vettore di caratteri o array di celle dei vettori di caratteri. Per ciascun esperimento, i valori possibili per ciascun canale di input sono:

  • zoh: il blocco di ordine zero mantiene un segnale di input costante a tratti tra i campioni.

  • foh: il blocco di primo ordine mantiene un segnale di input lineare a tratti tra i campioni.

  • bl: il comportamento a banda limitata specifica che il segnale di input a tempo continuo ha potenza zero sopra la frequenza di Nyquist.

Per un singolo esperimento con un singolo canale di input, InterSample contiene uno dei valori dell'elenco precedente. Per più esperimenti, InterSample è un array di celle Nu x Ne, dove Nu è il numero di canali di input e Ne è il numero di esperimenti. Ogni cella contiene il valore del comportamento associato all'esperimento e al canale di input che la cella rappresenta.

Nome dell'insieme di dati, specificato come vettore di caratteri.

Esempio 'dryer data'

Commenti sull'insieme di dati, specificati come vettore di caratteri o, per gli insiemi di dati di più esperimenti, come array di celle dei vettori di caratteri Nex1, dove Ne è il numero di esperimenti.

Esempio {'data from experiment 1';data from experiment 2'}

Valori del segnale di output dal sistema, specificati in uno dei seguenti modi:

  • Per un singolo esperimento, una matrice N x Ny, dove N è il numero di campioni di dati e Ny è il numero di canali di output

  • Per più esperimenti, un array di celle contenente matrici per singolo esperimento Ne, dove Ne è il numero di esperimenti

Quando si accede a OutputData dalla riga di comando, è possibile utilizzare la forma abbreviata y. Ad esempio, y1 = data.InputData equivale a y1 = data.y.

Nomi dei canali di output, specificati come array di celle Nyx1, dove Ny è il numero di canali di output.

Unità del canale di output, specificate come array di celle Nyx1, dove Nu è il numero di canali di output. Ogni cella contiene le unità del canale di input corrispondente.

Esempio {'rad';'rad/s'}

Periodo del segnale di input, specificato come doppio per ogni esperimento. Il valore è Inf per i segnali di input non periodici o il periodo nelle unità specificate dalla proprietà TimeUnit per i segnali di input periodici.

  • Per un singolo esperimento con un singolo canale di input, Period contiene un singolo valore.

  • Per un sistema a multiplo input, Period è un vettore Nux1, dove Nu è il numero di canali di input e la k-esima voce contiene il periodo del k-esimo input.

  • Per i dati di più esperimenti, Period è un array di celle 1xNe, dove Ne è il numero di esperimenti e ogni cella contiene uno scalare o un vettore di periodi per l'esperimento corrispondente.

Valori del tempo per i dati nel dominio del tempo in unità definite da TimeUnit, specificati come:

  • Un vettore Nx1, dove N è il numero di punti dati

  • Un array di celle 1xNe, dove Ne è il numero di esperimenti e ogni cella contiene gli istanti di campionamento per l'esperimento corrispondente.

I valori in SamplingInstants possono essere uniformi o non uniformi. Se si specifica la proprietà Ts, il software calcola valori di tempo uniformi in SamplingInstants da Ts e Tstart. Se si dispone di punti campione non uniformi, specificare i valori temporali in SamplingInstants. Il software imposta quindi la proprietà Ts su vuoto. Le funzioni di stima non supportano il campionamento non uniforme.

Unità per il tempo variabile e il tempo di campionamento, specificate come scalare. Questa proprietà si applica a tutti gli esperimenti nell'insieme di dati.

La modifica di questa proprietà non comporta il ricampionamento o la conversione dei dati. Modificando la proprietà si cambia solo l'interpretazione dei dati esistenti.

Tempo di campionamento in unità definite da TimeUnit, specificate come scalare o array di celle. Per ogni esperimento, il valore è uno dei seguenti:

  • Uno scalare, quando y e u sono campionati in modo uniforme

  • 0 per i dati a tempo continuo nel dominio della frequenza

  • [] quando y e u non sono campionati in modo uniforme e nel dominio del tempo, poiché la proprietà SamplingInstants imposta i valori di tempo per tali dati.

Per un singolo esperimento, Ts è uno scalare. Per i dati di più esperimenti, Ts è un array di celle 1xNe, dove Ne è il numero di esperimenti e ogni cella contiene il tempo di campionamento per l'esperimento corrispondente.

Per i dati nel dominio della frequenza, il software utilizza Ts per interpretarli.

  • Se Ts è 0, il software interpreta gli input e gli output come trasformate di Fourier a tempo continuo (CTFT) dei segnali corrispondenti.

  • Se Ts è uno scalare, il software interpreta gli input e gli output come trasformate di Fourier a tempo discreto (DTFT) dei segnali corrispondenti, con Ts come tempo di campionamento.

Tempo di inizio per i dati nel dominio del tempo, specificato come:

  • Uno scalare per un singolo esperimento

  • Un array di celle 1xNe per più esperimenti, dove Ne è il numero di esperimenti e ogni cella contiene il tempo di inizio per l'esperimento corrispondente

Il valore predefinito di Tstart è Ts per i dati campionati in modo uniforme e [] per i dati campionati in modo non uniforme.

Ulteriori commenti sull'insieme di dati, specificati come qualsiasi tipo di dati di MATLAB.

Funzioni oggetto

In generale, qualsiasi funzione applicabile ai dati di identificazione del sistema è applicabile a un oggetto iddata. Queste funzioni sono di tre tipi generali.

  1. Le funzioni che operano e restituiscono oggetti iddata consentono di manipolare ed elaborare oggetti iddata.

    • Utilizzare fft e ifft per trasformare gli oggetti iddata esistenti da e verso i domini del tempo e della frequenza. Ad esempio:

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

    • Utilizzare merge (iddata) per unire oggetti iddata in un singolo oggetto iddata contenente più esperimenti. Per estrarre un esperimento da un oggetto iddata con più esperimenti, utilizzare getexp. Ad esempio:

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

      Per un esempio più dettagliato, vedere Extract and Model Specific Data Segments.

    • Utilizzare le funzioni di pre-elaborazione come detrend o idfilt per filtrare i dati negli oggetti iddata e per rimuovere i dati errati. Ad esempio:

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

  2. Le funzioni che eseguono l'elaborazione analitica sugli oggetti iddata e creano grafici o restituiscono parametri o valori specifici, consentono di analizzare i dati e determinare gli input da utilizzare per la stima.

    • Utilizzare le funzioni di analisi come delayest e spa per calcolare le variabili, come il ritardo di tempo e lo spettro di frequenza.

  3. Le funzioni che utilizzano i dati negli oggetti iddata per stimare, simulare e validare i modelli consentono di creare modelli dinamici e valutare quanto la risposta del modello corrisponda ai dati di validazione.

    • Utilizzare le funzioni di stima come ssest e tfest per stimare modelli con strutture specifiche.

    • Utilizzare le funzioni di validazione come compare e sim per simulare i modelli stimati e confrontare gli output simulati con i dati di validazione e con altri modelli.

    I seguenti elenchi contengono un sottoinsieme rappresentativo delle funzioni utilizzabili con gli oggetti iddata.

espandi tutto

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
diffDifference signals in iddata objects
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
predictPredict identified model K-step-ahead output
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

Esempi

comprimi tutto

Creare un oggetto iddata utilizzando i dati nel dominio del tempo con singolo input/singolo output (SISO). L'input e l'output contengono ciascuno 1000 campioni con un tempo di campionamento di 0,08 secondi.

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                                  
                                       
Data Properties

Il software assegna il nome del canale predefinito 'y1' al primo e unico canale di output. Quando il segnale di output contiene più canali, il software assegna i nomi predefiniti 'y1','y2',...,'yn'. Allo stesso modo, il software assegna il nome del canale predefinito 'u1' al primo e unico canale di input. Per ulteriori informazioni sull'assegnazione dei nomi ai canali, vedere Naming, Adding, and Removing Data Channels.

Tracciare i dati.

idplot(data)

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

I grafici adiacenti mostrano i dati di output e i dati di input.

Creare un oggetto iddata dai dati delle serie temporali. I dati delle serie temporali non hanno un canale di input.

Caricare il canale di output di un insieme di dati e creare un oggetto iddata con un tempo di campionamento di 0,08 secondi.

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                                  
                                       
Data Properties

Tracciare i dati.

idplot(data)

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

È possibile utilizzare data per la stima del modello di serie temporale.

Caricare i dati della tabella orario tt7 e visualizzare le prime quattro righe.

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 ha due input con i nomi delle variabili u1 e u2 e un output con il nome della variabile y. Convertire tt7 in un oggetto 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 mantiene il tempo di campionamento e memorizza i nomi delle variabili nelle proprietà OutputName e InputName.

Creare ed esaminare un oggetto iddata da dati di input-output a valore complesso nel dominio della frequenza. Convertire l'oggetto nel dominio del tempo.

I dati di input e di output sono talvolta espressi sotto forma di trasformate di Fourier dei segnali di input-output nel dominio del tempo. È possibile inglobare questi dati in un oggetto iddata nel dominio della frequenza.

Caricare i dati, che consistono nei dati di input-output a valore complesso nel dominio della frequenza U e Y, nel vettore di frequenza W e nel tempo di campionamento Ts.

load demofr1 U Y W Ts

Creare l'oggetto iddata data_fr nel dominio della frequenza.

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                                                                                                
                                                                                                     
Data Properties

Esaminare le proprietà. Gli oggetti iddata nel dominio della frequenza includono proprietà specifiche della frequenza, come Frequency per il vettore di frequenza e FrequencyUnit per le unità di frequenza. Al contrario, gli oggetti iddata nel dominio del tempo includono proprietà specifiche del tempo, come Tstart e SamplingInstants per i dati nel dominio del tempo.

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

Assegnare il contenuto della proprietà frequenza alla variabile F.

F = data_fr.Frequency;

Acquisire le unità di frequenza dei dati. La proprietà TimeUnit imposta le unità del tempo di campionamento.

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

Convertire nuovamente data_fr nel dominio del tempo utilizzando la funzione della trasformata di 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                                  
                                       
Data Properties
get(data_t)
ans = struct with fields:
              Domain: 'Time'
                Name: ''
          OutputData: [1000×1 double]
          OutputName: {'y1'}
          OutputUnit: {''}
           InputData: [1000×1 double]
           InputName: {'u1'}
           InputUnit: {''}
              Period: Inf
         InterSample: 'zoh'
                  Ts: 0.1000
              Tstart: 0.1000
    SamplingInstants: [1000×1 double]
            TimeUnit: 'seconds'
      ExperimentName: 'Exp1'
               Notes: [0×1 string]
            UserData: []

Visualizzare le proprietà di un oggetto iddata. Modificare le proprietà sia durante che dopo la creazione dell'oggetto.

Caricare i dati di input e di output.

load dryer2_data input output

Creare un oggetto 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                                  
                                       
Data Properties

Visualizzare tutte le proprietà dell'oggetto iddata.

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

È possibile specificare le proprietà quando si crea un oggetto iddata utilizzando gli argomenti della coppia nome-valore. Creare un oggetto iddata dagli stessi input dei dati, ma modificare il nome dell'esperimento dall'impostazione predefinita a Dryer2.

data = iddata(output,input,0.08,'ExperimentName','Dryer2')
data = 
Time domain data set with 1000 samples.
Sample time: 0.08 seconds              
                                       
Outputs      Unit (if specified)       
   y1                                  
                                       
Inputs       Unit (if specified)       
   u1                                  
                                       
Data Properties

Per modificare i valori della proprietà di un oggetto iddata esistente, utilizzare la notazione col punto. Modificare la proprietà del tempo di campionamento Ts a 0,05 secondi.

data.Ts = 0.05
data = 
Time domain data set with 1000 samples.
Sample time: 0.05 seconds              
                                       
Outputs      Unit (if specified)       
   y1                                  
                                       
Inputs       Unit (if specified)       
   u1                                  
                                       
Data Properties

I nomi delle proprietà non fanno distinzione tra lettere maiuscole e lettere minuscole. Inoltre, se le prime poche lettere identificano in modo univoco la proprietà, non è necessario digitare il nome completo della proprietà.

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

È possibile utilizzare data.y come abbreviazione di data.OutputData per accedere ai valori di output oppure utilizzare data.u come abbreviazione di data.InputData per accedere ai valori di input.

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

Cronologia versioni

Introduzione prima di R2006a

espandi tutto