主要内容

党卫军

状态空间模型的估计使用时域或频域数据

描述

状态空间模型的估计

例子

sys= ss (tt,nx)估计连续时间状态空间模型sys的订单nx使用的所有输入和输出信号的时间表tt

您可以使用该语法的输出和味噌系统。函数假设中的最后一个变量的时间表是单一输出信号。

sys是一个中的难点模型的以下形式:

x ˙ ( t ) = 一个 x ( t ) + B u ( t ) + K e ( t ) y ( t ) = C x ( t ) + D u ( t ) + e ( t )

一个,B,C,D,K状态矩阵。u(t)输入,y(t)输出,e(t)是干扰,x(t)的向量nx州。

所有条目的一个,B,C,K默认情况下是免费的有价值的参数。D是固定的默认为零,也就是说,没有直通的,除了静态系统(nx = 0)。

估计离散时间模型,设置“t”模型样本时间使用名称-值语法。

估计MIMO模型,使用名称的语法来指定输入和输出通道使用“InputName”“OutputName”变量名称相应的时间表。

您还可以使用“InputName”“OutputName”指定特定频道当你不想使用所有可用的频道tt

例子

sys= ss (u,y,nx,“t”,Ts)估计使用时域离散时间状态空间模型的输入和输出信号的逗号分隔矩阵u,y和模型样品时间Ts

软件假定数据样本时间Ts秒。您可以使用该语法的输出,味噌,MIMO系统。

估计一个连续时间模型u,y不指定Ts不推荐。软件假定数据样本时间是1秒。你不能改变这个示例。如果你想连续时间模型与样本数据估计时间除了1秒,你首先必须把你的时间表或矩阵数据iddata对象。这种转换的一个例子,看到转换的输出矩阵数据的时间表米姆矩阵数据转换为连续时间模型估计的时间表

例子

sys= ss (数据,nx)状态空间模型估计连续时间使用时域或频域数据对象中的数据数据

使用这个语法特别是当你想要使用状态空间模型估计频域或频率特性数据,或者当你想利用额外的信息,比如intersample行为,数据样本,或标记实验,数据对象提供。

状态空间模型的估计时间序列

sys= ss (tt,nx)估计连续时间序列模型sys以适应数据的时间表tttt必须包含一个单一的数值变量。函数解释变量数据的时间表作为时间序列,没有输入和一个输出。

对于一个时间序列模型,sys中的难点模型具有以下形式:

x ˙ ( t ) = 一个 x ( t ) + K e ( t ) y ( t ) = C x ( t ) + e ( t )

sys= ss (tt,nx,“OutputName”outputVariables,“InputName”[])估计一个多变量时间序列模型,使用时间表中指定的变量名的输出信号outputVariables。指定的功能解释多元时间序列变量。如果你指定的所有变量tt“OutputName”,你可以省略的规范“InputName”

sys= ss ([]y,nx,“t”,Ts)估计一个离散的时间序列模型与样品时间Ts从输出数据矩阵ysys有尽可能多的输出有列在y。

sys= ss (数据,nx)估计一个时间序列模型,该模型使用的数据iddata财产data.OutputData。房地产data.InputData必须是空的。

指定附加的模型选择

例子

sys= ss (___,名称,值)包含附加选项指定一个或多个参数名称-值对。

例如,指定一个离散时间系统矩阵数据样本时间0.1使用sys = ss (ym, np, Ts, 0.1)。指定输入和输出信号对应的变量名与变量用于MIMO时间表数据使用sys = ss(数据、nx InputName,“u1”、“愉快”,“OutputName”,(“日元”、“y3))。使用“形式”,“引线”,“DisturbanceModel”名称-值参数修改的默认行为一个,B,C,D,K矩阵。

您可以使用该语法与任何以前的输入参数组合。

配置初始参数

例子

sys= ss (tt,init_sys)使用线性系统init_sys配置的初始参数sys评估使用的时间表tt

例子

sys= ss (u,y,init_sys)使用矩阵数据u,y估计。如果init_sys是一个连续时间模型,建议使用时间表代替矩阵。

例子

sys= ss (数据,init_sys)使用的数据对象数据估计。

指定额外的评估选项

例子

sys= ss (___,选择)包含一个选项设置选择指定选项,例如估计目标,处理初始条件,正规化,数值搜索方法用于估计。您可以指定选择后的任何以前的输入参数组合。

返回初始状态估计

例子

(sys,x0)= ss (___)返回初始状态的价值在评估计算。

例子

全部折叠

估计和比较状态空间模型与测量的响应输出。

输入/输出数据加载,存储在一个时间表。

负载sdata1tt1

估计一个四阶状态空间模型。

nx = 4;sys = ss (tt1 nx);

比较模拟模型与测量的输出响应。

比较(tt1 sys)

图包含一个坐标轴对象。ylabel y坐标轴对象包含2线类型的对象。这些对象代表验证数据(y), sys: 70.78%。

情节表明,适合模拟模型和估计数据之间的比例大于70%。

您可以查看更多信息探索的估计中的难点财产sys.Report

sys.Report
ans =状态:估计用ss预测集中的方法:“党卫军”InitialState:“零”N4Weight:“脑血管意外”N4Horizon:[6 10 10]适合:[1 x1 struct]参数:[1 x1 struct] OptionsUsed: [1 x1 idoptions。党卫军]RandState: [] DataUsed: [1 x1 struct]终止:[1 x1 struct]

例如,找到更多的信息关于终止条件。

sys.Report.Termination
ans =结构体字段:WhyStop:“不改进沿着线搜索的搜索方向。迭代:7 FirstOrderOptimality: 85.9759 FcnCount: 123 UpdateNorm: 7.8385 LastImprovement: 0

报告包括信息的迭代次数和估计的原因停止迭代。

加载输入-输出数据z1,这是存储在一个iddata对象。这是相同的数据来评估一个四阶模型状态空间模型

负载iddata1z1

确定最优模型通过指定参数nx作为一个从1:10

nx = 1:10;sys = ss (z1, nx);

一个自动生成的情节展示了模型的汉克尔奇异值指定的订单nx

州汉克尔相对较小奇异值可以安全地丢弃。建议默认选择2

选择模型秩序选择的顺序列表并点击应用

在矩阵对加载系统时域响应数据umat7ymat7

负载sdata7umat7ymat7Ts;

确定一个四阶状态空间模型的数据。指定一个延迟2第一输入和秒0第二个输入的秒。

nx = 4;sys = ss (umat7(施用,:),ymat7(施用,:),nx,“t”Ts,“InputDelay”,2,0);

修改规范形式的A、B和C矩阵,包括引线的D矩阵,并消除disturbance-model K矩阵的估计。

负载输入-输出数据和估计使用四阶系统党卫军默认选项。

负载iddata1z1sys1 = ss (z1, 4);

指定伙伴形式和比较一个矩阵用默认一个矩阵。

sys2 = ss (z1 4“形式”,“同伴”);A1 = sys1.A
A1 =4×4-0.5155 -3.8483 0.6657 -0.2666 5.8665 -2.7285 1.0649 -1.4694 -0.4487 0.9308 -0.6235 18.8148 -0.4192 0.5595 -16.0688 0.5399
A2 = sys2.A
A2 =4×4103-0.9547×-7.1122 - 0.0010 0 0 0 0 0 0 0 0 0 -0.3263 0.0010 0.0010 -0.0033

包括一个直通的术语和比较D矩阵。

sys3 = ss (z1 4“引线”1);D1 = sys1.D
D1 = 0
D3 = sys3.D
D3 = 0.0339

消除干扰建模和比较K矩阵。

sys4 = ss (z1 4“DisturbanceModel”,“没有”);K1 = sys1.K
K1 =4×10.0520 0.0973 0.0151 0.0270
K4 = sys4.K
K4 =4×10 0 0 0

指定党卫军估计初始状态作为独立的估计参数。

党卫军可以使用几种方法之一处理初始状态。默认情况下,党卫军选择自动根据你的估计数据的方法。你可以选择你自己通过修改选项设置使用方法ssestOptions

加载输入-输出数据z1和估计二阶状态空间模型sys使用默认选项。使用语法,返回初始状态x0

负载iddata1z1[sys, x0] = ss (z1, 2);x0
x0 =2×10 0

默认情况下,估计是使用来执行的“汽车”设置InitialState。找出哪些方法党卫军适用于评估的价值InitialStatesys.Report。

sys.Report.InitialState
ans = ' 0 '

软件应用的零的方法,这意味着软件设置初始状态为零而不是评估它们。这个选择是一致的0返回值为x0

指定党卫军估计初始状态,而不是作为独立的参数使用“估计”设置。使用ssestOptions创建一个修改选项设置和指定选项设置为估计一种新的模式。

选择= ssestOptions (“InitialState”,“估计”);[sys1, x0] = ss (z1, 2,选择);x0
x0 =2×10.0068 - 0.0052

x0现在估计参数与非零值。

获得一个正规化的基于二阶系统的状态空间模型从一个狭窄的带宽信号。

负荷估算数据。

负载regularizationExampleDataeData;

创建用于生成的传递函数模型估计数据(真实系统)。

trueSys = idtf (0.02008 [0.04017—0.02008], [1 -1.561 - 0.6414], 1);

估计一个unregularized状态空间模型。

选择= ssestOptions (“SearchMethod”,“lm”);m = ss (eData 5“形式”,“模态”,“DisturbanceModel”,“没有”,“t”、eData.Ts选择);

估计一个正规化的状态空间模型。

opt.Regularization。λ= 10;=党卫军先生(eData 5“形式”,“模态”,“DisturbanceModel”,“没有”,“t”、eData.Ts选择);

比较模型输出与估计数据。

比较(eData, m先生);

图包含一个坐标轴对象。坐标轴对象与ylabel y1包含3线类型的对象。这些对象代表验证数据(y1) m: 83.85%,先生:83.68%。

比较脉冲响应模型。

冲动(trueSys, m先生,50);传奇(“trueSys”,“米”,“先生”);

图包含一个坐标轴对象。坐标轴对象的标题:u1: y1包含6行类型的对象。一个或多个行显示的值只使用这些对象标记代表trueSys, m,先生。

估计的状态空间模型来衡量投入产出数据。配置参数约束和初始值估计状态空间模型使用。

创建一个中的难点指定的初始参数估计模型。

一个= blkdiag ([-0.1 - 0.4;-0.4 - -0.1],[1 5;5 1]);B = [1;0 (3,1)];C = [1 1 1 1];D = 0;K = 0 (4,1);x0 = (0.1 - 0.1 0.1 - 0.1);t = 0; init_sys = idss(A,B,C,D,K,x0,Ts);

设置所有条目K0创建一个中的难点模型没有状态干扰元素。

使用结构财产修复的一些模型参数的值。这配置模型BK是固定的,只有非零项的一个是有价值的。

init_sys.Structure.A.Free=(一个~=0); init_sys.Structure.B.Free = false; init_sys.Structure.K.Free = false;

的条目init_sys.Structure.A.Free确定相应的条目init_sys.A是免费的(真正的)或固定()。

状态空间模型加载测量数据和估计使用指定的参数约束和初始值init_sys

负载iddata2z2;sys = ss (z2, init_sys);

的估计参数sys满足指定的约束init_sys

输入参数

全部折叠

估计数据,指定为一个均匀采样时间表代表输入和输出通道或包含变量,对于multiexperiment数据,单元阵列的时间表。

使用整个时间表

如果您想要使用的所有变量tt作为输入或输出渠道,组织这样的变量组输入通道变量是紧随其后的是组输出通道变量,然后:

  • 对于输出系统,指定tt作为一个N年代2的时间表,N年代样品的数量和两个时间表变量分别代表了测量输入通道和输出通道。

  • 对于MIMO系统,指定tt作为一个N年代————(Nu+Ny)的时间表,Nu输入和数量吗Ny是输出的数量。第一个Nu变量必须包含输入通道和剩下的Ny变量必须包含输出通道。

    当你估计状态空间或传递函数模型时,您还必须显式地指定输入和输出通道,下面的部分将介绍。

  • 对于multiexperiment数据,指定数据作为Ne1单元阵列的时间表,Ne是实验的数量。所有的样品时间实验必须匹配。

使用选定的变量从时间表

如果你想明确地确定输入和输出通道,比如当你想使用只有一个子集的可用的频道,当输入和输出通道变量是混杂在一起的,或者当你估计MIMO状态或传递函数模型,使用“InputName”“OutputName”名称-值参数指定使用哪个变量作为输入和输出。

例如,假设tt包含六个通道变量:“u1”,“u2”,“u3”,“日元”,“日元”,“y3”。估计,你想要使用的变量“u1”“u2”作为输入变量“日元”“y3”作为输出。使用以下命令来执行评估:

sys = ss (tt, __“InputName”,“u1”“u2”,“OutputName”,(“日元”“y3))

使用时间表来估计时间序列模型

如果你想估计时间序列模型,而不是一个输入/输出模型,只使用输出变量tt。你可以指定tt只包含您想要的输出变量,或提取的输出变量tt如果tt还包含输入变量。规范方法类似于输入/输出模型估计。

  • 对于一个系统,指定tt作为一个N年代1的时间表。

  • 对于一个多变量系统,指定tt作为一个N年代————(Ny)的时间表。即使你计划使用的所有变量tt,您必须指定使用“OutputName”名称-值参数,软件不能解释它们作为输入变量。

对于一个时间表tt变量超出了您想要使用,如输入变量或额外的输出变量,指定您想要使用的输出变量,“InputName”一个空数组。

例如,假设tt包含六个变量:“u1”,“u2”,“u3”,“日元”,“日元”,“y3”。对于时间序列估计,您想要使用的输出变量“日元”“y3”。使用以下命令来执行评估:

sys = ss (tt, __“OutputName”,“日元”“y3”,“InputName”, [])

关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱

估计数据,指定输出系统作为一个逗号分隔的N年代1实值矩阵含有均匀采样输入和输出时域信号值。在这里,N年代是样品的数量。

对于MIMO系统,指定u,y作为输入/输出矩阵对以下维度:

  • u- - - - - -N年代——- - - - - -Nu,在那里Nu输入的数量。

  • y- - - - - -N年代——- - - - - -Ny,在那里Ny是输出的数量。

对于multiexperiment数据,指定u,y作为一对1×-Ne细胞阵列,Ne是实验的数量。所有的样品时间实验必须匹配。

时间序列数据,只包含输出和输入,指定y只有。

限制

估计数据对象,指定为一个iddata对象,一个的朋友对象,或一个idfrd对象包含均匀采样输入和输出值。默认情况下,软件集的样本时间模型的样本时间估计数据。

对于multiexperiment数据,所有的样品时间和intersample行为实验必须匹配。

对时域估计,数据必须是一个iddata对象包含输入和输出信号值。

对频域估计,数据可以是下列之一:

  • 记录频率响应数据(的朋友(控制系统工具箱)idfrd)

  • iddata指定对象的属性如下:

    • InputData- - -输入信号的傅里叶变换

    • OutputData——输出信号的傅里叶变换

    • - - - - - -“频率”

限制

你不能使用离散频域数据估计连续时间模型。

的估计模型,指定为一个非负整数或向量包含一个正整数的范围。

  • 如果你已经知道你想要什么顺序估计模型,指定nx作为一个标量。

  • 如果你想比较一系列潜在的订单选择最有效的为你的估计模型,指定的范围nx党卫军创建一个汉克尔奇异值图,显示了系统中每个状态的相对能量的贡献。州汉克尔相对较小奇异值贡献小模型的准确性,可以丢弃的影响不大。你保留的最高境界是指数模型。图窗口包含要使用的建议。你可以接受这个建议或进入一个不同的顺序。例如,看到的确定最优估计模型

    如果你不指定nx,或者如果您指定nx作为最好的,软件自动选择nx的范围1:10

  • 如果你是确定一个静态系统,集nx0

估计选项,指定为一个ssestOptions选项。选项指定的选择包括:

  • 估计目标

  • 处理初始条件

  • 正则化

  • 数值搜索方法用于估计

  • Intersample行为

示例显示了如何使用选择,请参阅估计初始状态为独立参数估计使用正则化状态空间模型

线性系统,配置的初始参数sys指定为一个中的难点或作为一个结构模型。你获得init_sys通过执行评估使用测量数据或通过直接施工。

如果init_sys是一个中的难点模型中,党卫军使用的参数值init_sys作为初始猜测估计sys。有关如何指定的信息中的难点,请参阅估计状态空间模型与结构参数化党卫军荣誉约束的参数init_sys,如固定系数和最小/最大范围。

使用结构的属性init_sys配置初始参数值和约束一个,B,C,D,K矩阵。例如:

  • 指定一个初始猜测一个矩阵的init_sys,设置init_sys.Structure.A.Value作为初始猜测。

  • 指定的约束B矩阵的init_sys:

    • init_sys.Structure.B.Minimum到最低限度B矩阵的值

    • init_sys.Structure.B.Maximum最大B矩阵的值

    • init_sys.Structure.B.Free如果条目B矩阵是免费的参数估计

    设置更为复杂的约束条件,如相互依存系数,使用灰色矩形评估使用感动的idgrey

你必须分配有限的所有矩阵参数的初始值。

如果init_sys不是一个整数(中的难点)模型,软件第一次转换init_sys到一个中的难点模型。党卫军使用生成的模型的参数估计的初始猜测。

如果你不指定选择init_sys是通过评估,那么软件使用评估选项init_sys.Report.OptionsUsed

例如,看到的状态空间模型估计部分已知使用结构化的评估

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:sys = ss(数据、nx Ts, 0.1)

输入通道名称,指定为一个字符串,特征向量,特征向量的字符串数组,数组或单元。

如果您正在使用数据源,时间表中的名称InputName必须的一个子集的时间表变量。

例子:sys = ss (tt, __, InputName, [u1”“u2”])选择的变量u1u2作为输入通道的时间表tt用于估计。

输出通道名称,指定为一个字符串,特征向量,特征向量的字符串数组,数组或单元。

如果您正在使用数据源,时间表中的名称OutputName必须的一个子集的时间表变量。

例子:sys = ss (tt, __“OutputName”,(“日元”“y3))选择的变量日元y3作为输出通道的时间表tt用于估计。

样品的时间估计模型,指定为逗号分隔组成的“t”,要么0或积极的标量。

  • 对于连续时间模型,指定“t”作为0

  • 对于离散时间模型,指定“t”作为数据样本时间单位定义为以下:

    • 排课数据——时间表时间

    • 依赖于数据——秒

    • 数据对象,例如iddata对象-data.TimeUnit财产

获得的数据采样时间的时间表tt,使用时间表财产tt.Properties.Timestep

为每个输入通道输入延迟,指定为逗号分隔组成的“InputDelay”和一个数字向量。

  • 对于连续时间模型,指定“InputDelay”在时间表中存储的时间单位,数据对象TimeUnit财产,或者,对矩阵数据,在几秒钟内。

  • 对于离散时间模型,指定“InputDelay”整数倍的样品时间Ts。例如,设置“InputDelay”3指定一个延迟三个采样周期。

为一个系统Nu输入,设置InputDelay到一个Nu1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。例如,看到的识别具有输入时滞状态空间模型

应用相同的延迟所有渠道,指定InputDelay作为一个标量。

类型的规范形式sys,指定为逗号分隔两人组成的“形式”和下列值之一:

  • “免费”——所有矩阵的条目一个,B,C,D,K被认为是免费的。

  • “模态”——获得sys在模态形式。

  • “同伴”——获得sys在同伴的形式。

  • “规范”——获得sys可观测性规范形式。

定义的规范形式,明白了状态实现

有关更多信息,请参见估计状态空间模型与标准参数化。例如,看到的修改表单、引线和Disturbance-Model矩阵

直接从输入到输出引线,指定为逗号分隔组成的“引线”和一个逻辑向量的长度Nu,在那里Nu输入的数量。如果您指定直通的作为一个逻辑标量,值是适用于所有的输入。对于静态系统,软件总是假定“引线”1

例如,看到的修改表单、引线和Disturbance-Model矩阵

选择K矩阵估计时域噪声组件参数,指定为逗号分隔组成的“DisturbanceModel”和下列值之一:

  • “估计”——估计噪声分量。的K矩阵视为一个自由参数。

  • “没有”——不估计噪声组件。的元素K矩阵是固定在零。

对于频域数据,软件假定“DisturbanceModel”“没有”

例如,看到的修改表单、引线和Disturbance-Model矩阵

输出参数

全部折叠

标识,状态空间模型作为一个返回中的难点模型。这个模型是使用指定的模型创建的订单,延误,估计选项。

评估结果和信息存储在选择使用报告模型的属性。报告有以下字段。

报告字段 描述
状态

总结模型的状态,这表明模型是由建设或是否得到评估。

方法

评估使用的命令。

InitialState

在估计初始状态是如何处理,返回以下值之一:

  • “零”——初始状态设置为零。

  • “估计”——初始状态被当作一个独立的评估参数。

  • “展望”——初始状态使用最好的最小二乘估计。

  • 列向量的长度Nx,在那里Nx的状态数。对于multi-experiment数据,一个矩阵列,是实验的数量。

  • 参数初始条件对象(x0obj)创建使用idpar。只对离散时间状态空间模型。

这个字段时特别有用InitialState估计选项设置选项“汽车”

N4Weight

N4SID加权方案用于奇异值分解的算法,返回以下值之一:

  • “MOESP”——使用MOESP算法。

  • “脑血管意外”——使用正则变量算法。

  • “SSARX”- - -子空间识别方法,使用一个ARX estimation-based算法计算权重。

这个选项的时候尤其有用N4Weight估计选项设置选项“汽车”

N4Horizon

向前和向后预测视野N4SID所使用的算法,用三个元素——作为一个行向量返回(r sy苏),在那里r最大向前预测地平线。sy是过去的输出,然后呢是过去的数量输入用于预测。

适合

定量评估的评估,作为一个结构返回。看到损失函数和模型质量的指标对这些质量标准的更多信息。结构有以下字段:

描述
FitPercent

归一化均方误差(NRMSE)测量的响应模型的适合估计数据,用百分比表示fitpercent= 100 (1-NRMSE)。

LossFcn

估计完成时的价值损失函数。

均方误差

均方误差(MSE)测量的响应模型的适合估计数据。

消防工程

最终模型的预测误差。

另类投资会议

原始Akaike信息标准(AIC)模型质量的措施。

AICc

样本规模小的AIC纠正。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

估计模型参数的值。

OptionsUsed

选项设置用于估计。如果没有配置自定义选项,这是一组缺省选项。看到ssestOptions为更多的信息。

RandState

的随机数流的估计。空的,[]评估期间,如果随机化是不习惯。有关更多信息,请参见rng

DataUsed

属性的数据用于估计。结构有以下字段:

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。这相当于Data.Ts

InterSample

输入intersample行为。下列值之一:

  • “zoh”——零维护样本之间的分段常数输入信号。

  • “呸”——一阶保持维护一个分段线性输入信号之间的样本。

  • “提单”——带限行为指定连续时间输入信号零功率高于奈奎斯特频率。

的价值Intersample离散时间模型的估计结果没有影响。

InputOffset

在估计抵消从时域输入数据。

OutputOffset

在估计抵消从时域输出数据。

终止

迭代终止条件搜索用于预测误差最小化,作为结构返回以下字段:

描述
WhyStop

原因终止数值搜索。

迭代

搜索迭代执行的估计算法。

FirstOrderOptimality

规范的梯度搜索在搜索算法终止时向量。

FcnCount

目标函数的次数。

UpdateNorm

规范的梯度搜索过去迭代向量。省略搜索方法“lsqnonlin”“fmincon”

LastImprovement

标准改进在过去的迭代,表示为一个百分比。省略搜索方法“lsqnonlin”“fmincon”

算法

所使用的算法“lsqnonlin”“fmincon”搜索方法。当使用其他搜索方法省略了。

估计方法不需要数值搜索优化终止字段是省略。

使用的更多信息报告,请参阅评估报告

初始状态估计计算,包含一个列向量作为一个数组返回相应的实验。

这个数组也存储在参数领域模型的报告财产。

例如,看到的估计初始状态为独立参数

算法

党卫军初始化参数估计使用noniterative子空间方法或迭代的有理函数估计方法。然后改进参数值使用预测误差最小化的方法。有关更多信息,请参见pemssestOptions

引用

[1]Ljung, L。为用户系统标识:理论,第二版。上台北:Prentice Hall PTR, 1999。

版本历史

介绍了R2012a

全部展开