主要内容

从电子表格

从电子表格读取数据

  • 库:
  • 金宝appSimulink / Sources

  • 来自电子表格块

描述

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

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

存储格式

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

Microsoft Excel电子表格:

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

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

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

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

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

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

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

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

  • 从电子表格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

模拟过程中的块行为

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在重复的时间戳之后

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

港口

输出

全部展开

来自指定电子表格的增量数据。

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

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

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

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

参数

全部展开

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

此块仅在微软平台上支持金宝app非英语全路径和文件名。

编程使用

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

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

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

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

属性中的值范围,从而选择数据范围范围参数。

编程使用

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

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

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

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

编程使用

块参数范围
类型:字符向量
价值:单元格范围
默认的

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

如果您想为每个信号指定不同的数据类型,请考虑选择输出数据类型>继承:汽车。此选项使用反向传播解析反向信号数据类型。例如,假设有两个信号在从电子表格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: <类名>' | '<数据类型表达式>'
默认的“继承:汽车”

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

  • 时间-将第一栏视为时间。

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

依赖关系

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

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

  • 时间范围内的数据插值

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

并支持:

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

编程使用

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

采样周期和偏移量。

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

  • 为From Spreadsheet块指定

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

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

编程使用

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

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

方法 描述
线性外推法

(默认)

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

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

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

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

  • 以外的内置数据类型布尔

    • 将数据向上转换为

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

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

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

保持第一个值

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

土地价值

使用一个取决于电子表格样本数据值的数据类型的值:

  • 定点数据类型——使用基础值

  • 除定点以外的数字类型-用途0

  • 布尔——使用

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

依赖关系

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

编程使用

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

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

方法 描述
线性插值

(默认)

从电子表格块插值使用两个对应的电子表格样本:

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

  • 布尔数据,使用对于样本的前一半和真正的在下半场

  • 以外的内置数据类型布尔

    • 将数据向上转换为

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

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

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

零阶保持器

使用两个样本中的第一个样本的数据

依赖关系

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

编程使用

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

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

方法 描述
线性外推法

(默认)

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

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

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

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

  • 以外的内置数据类型布尔

    • 将数据向上转换为

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

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

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

保持最后价值

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

土地价值

使用一个取决于电子表格样本数据值的数据类型的值:

  • 定点数据类型——使用基础值

  • 除定点使用以外的数字类型0

  • 布尔——使用

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

依赖关系

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

编程使用

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

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

  • 重复序列中指定的范围的第一行开始读取数据,重复该序列范围

  • 保持最终价值-输出模拟剩余部分的最后一个定义值。

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

依赖关系

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

编程使用

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

选中以启用过零检测。

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

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

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

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

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

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

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

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

  • 时间范围内的数据插值

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

该块在确定何时时应用以下规则:

  • 第一个时间戳发生过零

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

  • 最后的时间戳

时间戳 发生过零检测时

第一个

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

在第一和最后之间

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

最后的

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

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

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

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

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

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

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

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

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

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

  • 上一个数据点后的数据外推- - - - - -保持最后价值

编程使用

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

块特征

数据类型

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

直接引线

没有

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

是的

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

算法

全部展开

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

扩展功能

在R2015b中引入