文档

从电子表格

从电子表格读取数据

  • 库:
  • 金宝appSimulink /源码

描述

从电子表格块从微软®Excel®(所有平台)或CSV (MicrosoftWindows®平台微软办公软件仅安装)电子表格,并将数据作为信号输出。的从电子表格块不支持金宝appMicrosoft Excel电子表格图表。

从电子表格图标显示在块中指定的电子表格文件名和工作表名称文件名称而且表的名字参数。

存储格式

这些数据从电子表格从电子表格读取块必须适当格式化。

Microsoft Excel电子表格:

  • 从电子表格块将第一行解释为信号名。如果不指定信号名称,则从电子表格块根据格式分配一个默认值信号,在那里每增加一个未命名的信号。

  • 从电子表格Block将第一列解释为时间。在这一列中,时间值必须单调递增。

  • 从电子表格块将其余列解释为信号。

此示例显示了可接受的格式化Microsoft Excel电子表格。第一列是Time,第一行包含信号名称。每个工作表包含一个信号组。

对于CSV文本文件(Microsoft平台与微软办公软件只安装):

  • 从电子表格Block将第一列解释为时间。在这一列中,时间值必须增加。

  • 从电子表格块将其余列解释为信号。

  • 每一列必须有相同数量的条目。

  • 从电子表格块将每个文件解释为一个信号组。

这个例子展示了一个可接受的格式化CSV文件。内容表示一个信号组。

5 0, 0, 0, 0 - 1, 0, 1, 5 0 2 0, 1, 5 0 3 0, 1, 5 0 4、5、1、5 0 5、5、1、5、5、1 0 6日5 0 7,0、1、5、8 0,0,1,5,1 9 0,1、5、10 1,0,1,5 0

模拟过程中的块行为

从电子表格Block在模拟过程中增量地从电子表格读取数据。

样品时间参数指定采样时间从电子表格块用于从电子表格读取数据。详情请参见参数.文件中的时间戳必须是单调非递减的。

对于电子表格中不包含匹配时间戳的每个模拟时间命中,Simulink金宝app®软件通过插值或外推,使用选定的方法获得所需的数据。详情请参见没有相应电子表格时间戳的模拟时间点

没有相应电子表格时间戳的模拟时间点

如果模拟时间命中没有相应的电子表格时间戳,则从电子表格块输出取决于:

  • 模拟时间命中发生在第一个时间戳之前、时间戳范围内还是最后一个时间戳之后

  • 您选择的内插或外推方法

  • 电子表格数据的数据类型

关于插值和外推选项的详细信息,请参见这些参数的说明:

有时电子表格包含两个或多个具有相同时间戳的数据值。在这种情况下,从电子表格相对于电子表格中的重复时间戳,块动作取决于模拟时间命中发生的时间。

例如,假设电子表格包含这些数据。三个数据值的时间戳值为2

时间戳:0 12 2 23 4数据值:26 4 91 - 5

下表描述了从电子表格块的输出。

模拟时间,相对于电子表格中的重复时间戳值 从电子表格块动作
在重复的时间戳之前

执行与时间戳不同时相同的操作,使用重复的第一个时间戳值作为插值的基础。(在本例中,时间戳值为6.)

在重复的时间戳时或之后

执行与时间戳不同时相同的操作,使用重复的最后一个时间戳值作为插值的基础。(在本例中,该时间戳值为9.)

港口

输出

全部展开

从指定的电子表格中增加数据。

样品时间参数指定采样时间从电子表格块用于从电子表格读取数据。详情请参见参数.文件中的时间戳必须是单调非递减的。

对于每个模拟时间命中,如果电子表格中没有匹配的时间戳,Simulink软件将插值或外推,使用选定的方法获得所需的数据。金宝app详情请参见没有相应电子表格时间戳的模拟时间点

从电子表格块在块级别接受数据类型规范。如果您想为每个信号指定不同的数据类型,请考虑选择输出数据类型>继承:汽车.此选项使用反向传播解析反向信号数据类型。例如,假设有两个信号在从电子表格块,In1和In2,该块发送到具有int8和Boolean数据类型的端口。通过反向传播,块将In1重铸为int8,将In2重铸为布尔值。

数据类型:||int8|int16|int32|uint8|uint16|uint32|布尔|不动点|枚举

参数

全部展开

输入电子表格文件的完整路径和文件名。

此块只支持Micros金宝appoft平台上的非英文全路径和文件名。

编程使用

块参数文件名
类型:字符向量
价值:完整路径和文件名
默认的“untitled.xlsx”

在电子表格中输入工作表的名称。您可以在此编辑框中键入工作表名称,或在打开工作表后选择工作表名称。

如果您的电子表格是CSV格式的,块将用不带扩展名的CSV文件的名称填充此参数。不要更改此值。

要打开工作表,请单击.在工作表中,可以通过拖动所需值的范围来选择数据的范围。

控件中指定值的范围,从而选择数据的范围范围参数。

编程使用

块参数SheetName
类型:字符向量
价值:表名称
默认的“Sheet1”

要指定范围,请使用以下格式,多个规格以逗号分隔。例如,A1: B3, D1: D3, A7: B9, D7: D9.如果未指定或为空,则块自动检测所用范围,即表中的所有数据。

如果选择重叠,块将适当地解析选择信息。例如,如果您指定多个重叠的范围,例如A1: B4, B1: E7,块解析选择到A1到E7,包括。

的替代方法范围参数为打开工作表,单击.在工作表中,可以通过拖动所需值的范围来选择数据的范围。

编程使用

块参数范围
类型:字符向量
价值: Cell range
默认的

的数据类型从电子表格块的输出。的从电子表格Block接受包含多种数据类型的电子表格。然而,该块将电子表格数据类型读取为双精度。然后根据的值输出数据类型输出数据类型

如果您想为每个信号指定不同的数据类型,请考虑选择输出数据类型>继承:汽车.此选项使用反向传播解析反向信号数据类型。例如,假设有两个信号在从电子表格块,In1和In2,该块发送到具有int8和Boolean数据类型的端口。通过反向传播,块将In1重铸为int8,将In2重铸为布尔值。

若要允许块转换输出数据类型以匹配接收块的数据类型,请使用继承:汽车

有关更多信息,请参见控制信号数据类型

编程使用

块参数OutDataTypeStr
类型:字符向量
'Inherit: auto' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <类名>' | 'Bus: <对象名>' | '<数据类型表达式>'
默认的“继承:汽车”

选择块应该如何处理电子表格的第一列:

  • 时间-将第一列作为时间。

  • 数据-将第一列作为数据。

依赖关系

当您选择数据,该块禁用:

  • 第一个数据点前的数据外推

  • 时间范围内的数据插值

  • 最后一个数据点后的数据外推

并支持:

  • 最后一个数据点后的输出

编程使用

块参数TreatFirstColumnAs
类型:字符向量
价值“时间”|“数据”
默认的“时间”

采样周期和偏移量。

From Spreadsheet块使用一个示例时间从电子表格读取数据:

  • 为From Spreadsheet块指定

  • From Spreadsheet块继承From Spreadsheet块向其提供数据的块

默认为0,它指定连续的采样时间。电子表格以模型的基本(最快)速率读取。详情请参见指定采样时间

编程使用

参数:SampleTime
类型:特征向量
价值观:标量|向量
默认值:' 0 '

在电子表格中的第一个时间戳之前,Simulink用于金宝app模拟时间命中的外推方法。选择这些外推方法中的一种。

方法 描述
线性外推法

(默认)

如果电子表格只包含一个示例,则从电子表格块输出相应的数据值。

如果电子表格包含多个样本,则从电子表格Block使用前两个样本进行线性外推:

  • 数据,线性外推值使用前两个样本

  • 布尔,输出第一个数据值

  • 的内置数据类型布尔

    • 将数据上cast到

    • 执行线性外推(如上所述)数据)

    • 将外推数据值向下转换为原始数据类型

您不能使用线性外推法带有枚举(的选项枚举)数据。

保持第一个值

使用文件中的第一个数据值

土地价值

使用一个依赖于电子表格样例数据值的数据类型的值:

  • 定点数据类型——使用地线值

  • 定点以外的数值类型。用途0

  • 布尔——使用

  • 枚举数据类型—使用默认值

依赖关系

若要启用此参数,请设置将第一列处理为时间

编程使用

参数:ExtrapolationBeforeFirstDataPoint
类型:特征向量
价值观:'线性外推' | '保持第一个值' | '底值'
默认值:线性外推的

Simulink用于电子表格中两个时间戳之间的模拟时间命中的金宝app插值方法。选择下列插值方法之一。

方法 描述
线性插值

(默认)

从电子表格Block使用两个对应的电子表格示例进行插值:

  • 数据,线性插值值使用两个对应的样本

  • 布尔数据,使用样本的前半部分真正的后半段

  • 的内置数据类型布尔

    • 将数据上cast到

    • 执行线性插值(如上所述)数据)

    • 将内插的值向下转换为原始数据类型

您不能使用线性插值带有枚举(的选项枚举)数据。

零阶保持器

使用两个示例中的第一个的数据

依赖关系

若要启用此参数,请设置将第一列处理为时间

编程使用

参数:InterpolationWithinTimeRange
类型:特征向量
价值观:'线性插值' | '零阶保持器'
默认值:线性插值的

Simulink用于模拟时间命中的外推方法,该时间命中位于电金宝app子表格中的最后一个时间戳之后。选择下列一种外推方法。

方法 描述
线性外推法

(默认)

如果电子表格只包含一个示例,则从电子表格块输出相应的数据值。

如果电子表格包含多个样本,则从电子表格Block使用后两个样本的数据值进行线性外推:

  • 数据,外推值使用最后两个样本

  • 布尔Data,输出最后一个数据值

  • 的内置数据类型布尔

    • 将数据上cast到

    • 执行线性外推(如上所述)数据)。

    • 将外推值向下转换为原始数据类型。

您不能使用线性外推法带有枚举(的选项枚举)数据。

保留最后一个值

使用文件中的最后一个数据值

土地价值

使用一个依赖于电子表格样例数据值的数据类型的值:

  • 定点数据类型——使用地线值

  • 定点以外的数字类型0

  • 布尔——使用

  • 枚举数据类型—使用默认值

依赖关系

若要启用此参数,请设置将第一列处理为时间

编程使用

参数:ExtrapolationAfterLastDataPoint
类型:特征向量
价值观:'线性外推' | '保持最后值' | '基础值'
默认值:线性外推的

在最后一个数据点后选择动作:

  • 重复序列中指定范围的第一行读取数据,重复上述顺序范围

  • 保持最终值-输出最后定义的值,用于模拟的剩余部分。

  • 土地价值—根据中指定的数据类型值输出接地值输出数据类型

依赖关系

若要启用此参数,请设置将第一列处理为数据

编程使用

参数:OutputAfterLastPoint
类型:特征向量
价值观:'重复序列' | '保持最终值' | '起始值'
默认值:重复序列的

选择启用过零检测。

讨论二阶导数过零检测参数仅在样品时间参数设置为0(连续)。

金宝appSimulink使用一种被称为过零检测的技术来精确定位不连续点,而无需诉诸于过小的时间步长。在这种情况下,过零被用来表示不连续。

从电子表格块,过零检测只能在文件中的时间戳处发生。金宝appSimulink只检查时间戳,而不检查数据值。

如果输入数组包含重复的时间戳(多个条目具有相同的时间戳),Simulink将在该时间戳处检测到过零。金宝app例如,假设输入数组有这样的数据。

时间:0 1 2 2 3信号:2 3 4 5 6

在时间2时,输入信号不连续处有一个零交叉点。

对于时间戳不重复的数据,过零检测取决于以下参数的设置:

  • 第一个数据点前的数据外推

  • 时间范围内的数据插值

  • 最后一个数据点后的数据外推

当确定何时时,块应用以下规则:

  • 第一个时间戳发生过零

  • 用于第一个和最后一个时间戳之间的时间戳

  • 最后一个时间戳

时间戳 发生过零检测时

第一个

第一个数据点前的数据外推设置为土地价值

从第一次到最后一次

时间范围内的数据插值设置为零级举行

最后的

这些设置中的一个或两个都会发生:

  • 最后一个数据点后的数据外推设置为土地价值

  • 时间范围内的数据插值设置为零级举行

下面的图演示了a访问的数据的过零检测从电子表格具有以下设置的块:

  • 第一个数据点前的数据外推- - - - - -线性外推法

  • 时间范围内的数据插值(对于内部点)-零阶保持器

  • 最后一个数据点后的数据外推- - - - - -线性外推法

下图是对a访问的数据进行过零检测的另一个说明从电子表格块。该块对时间戳(点)有以下设置:

  • 第一个数据点前的数据外推- - - - - -保持第一个值

  • 时间范围内的数据插值- - - - - -零阶保持器

  • 最后一个数据点后的数据外推- - - - - -保留最后一个值

编程使用

块参数ZeroCross
类型:字符向量
“关闭”|“上”
默认的“关闭”

块特征

数据类型

布尔||枚举|不动点一个|整数|

直接引线

没有

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

是的

一个金宝app支持最多32位定点数据类型。

算法

全部展开

从电子表格Block从电子表格中读取数据,它以双倍精度读取所有信号,然后将它们转换为输出数据类型输出信号的参数。在强制转换期间,块对整数溢出使用舍入模式和饱和,如下所示。

扩展功能

在R2015b中引入