• 大小: 11KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Matlab
  • 标签: matlab  

资源简介

子空间辨识,来自线性系统子空间辨识这本书,matlab程序,简单好用。

资源截图

代码片段和文件信息


%   General subspace identification 
%   -------------------------------
%   
%   The algorithm ‘subid‘ identifies deterministic stochastic 
%   as well as combined state space systems from IO data.
%
%           [ABCDKR] = subid(yui);

%   Inputs:
%           y: matrix of measured outputs
%           u: matrix of measured inputs 
%              for stochastic systems u = []
%           i: number of block rows in Hankel matrices
%              (i * #outputs) is the max. order that can be estimated 
%              Typically: i = 2 * (max order)/(#outputs)
%           
%   Outputs:
%           ABCDKR: combined state space system
%           
%                  x_{k+1) = A x_k + B u_k + K e_k        
%                    y_k   = C x_k + D u_k + e_k
%                 cov(e_k) = R
%                 
%           For deterministic systems: K = R = []
%           For stochastic systems:    B = D = []
%
%   Optional:
%
%           [ABCDKRAUXss] = subid(yuinAUXWsil);
%   
%           n:    optional order estimate (default [])
%                 if not given the user is prompted for the order
%           AUX:  optional auxilary variable to increase speed (default [])
%           W:    optional weighting flag
%                      SV:    Singular values based algorithm 
%                             (default for systems with input u)
%                      CVA:   Canonical variate based algorithm
%                             (default for systems without input u)
%           ss:   column vector with singular values
%           sil:  when equal to 1 no text output is generated
%           
%   Example:
%   
%           [ABCDKRAUX] = subid(yu102);
%           for k=3:6
%              [ABCD] = subid(yu10kAUX);
%           end
%           
%   Reference:
%   
%           Subspace Identification for Linear Systems
%           Theory - Implementation - Applications
%           Peter Van Overschee / Bart De Moor
%           Kluwer Academic Publishers 1996
%           Stochastic algorithm:   Figure 3.13 page 90 (positive)
%           Combined algorithm:     Figure 4.8 page 131 (robust)
%
%   Copyright:
%   
%           Peter Van Overschee December 1995
%           peter.vanoverschee@esat.kuleuven.ac.be
%
%

function [ABCDKRoAUXss] = subid(yuinAUXinWsil);

if (nargin < 7);sil = 0;end

mydisp(sil‘ ‘);
mydisp(sil‘   Subspace Identification‘);
mydisp(sil‘   -----------------------‘);

% Check the arguments
if (nargin < 3);error(‘subid needs at least three arguments‘);end
if (nargin < 4);n = [];end
if (nargin < 5);AUXin = [];end

% Check if its deterministic or stochastic ID
if (u == []);   ds_flag = 2;  % Stochastic
else;           ds_flag = 1;  % Deterministic
end  

% Give W its default value
if (nargin < 6);W = [];end
if (W == [])
  if (ds_flag == 1); W = ‘SV‘;  % Deterministic: default to SV
  else;            W = ‘CVA‘;end  % Stochastic: default to CVA
end


% Turn the data into row vectors and c

评论

共有 条评论