主要内容

从文件

从MAT文件加载数据到金宝app模型

  • 库:
  • 金宝appSimulink / Sources

  • 来自文件块

描述

从文件block读取数据到Simulink中金宝app®模型,并提供数据作为信号或非虚拟总线在块输出。可以从打开或关闭MATLAB的MAT文件加载数据®路径。一个模型可以包含多个从文件块,从相同的MAT文件加载数据。

您可以指定块如何从文件中的数据构造输出,包括输出的采样时间、插值和外推行为,以及是否使用过零检测。

从文件块图标显示了向块提供数据的MAT文件的名称。例如,如果你使用从文件块从文件中加载数据myData.mat时,该块显示myData.mat

MAT文件数据

从文件块可以从MAT文件中加载数据,该文件存储在timeseries对象或数组中,其中第一行包含时间数据,后续行包含标量或矢量信号的数据。加载中存储的数据timeseries对象支持更广泛金宝app的数据和输出类型,并要求MAT文件是Version 7.3。

请注意

日志记录输出、状态或连接到的信号到工作空间块,使用数组格式生成的数组格式与从文件块的预期。在数组格式的日志记录,第一列包含时间值,并且为数组格式从文件块中,第一行包含时间值。的从文件块和到文件块使用相同的数组格式。

数据的考虑

timeseries格式

数组的格式

金宝app支持的信号数据类型

  • 任何内置数据类型一半int64,uint64

  • 枚举数据类型

  • 长度不超过32位字的定点数据类型

信号数据复杂性

真实或复杂

真正的

信号数据要求

不能包含,或

不能包含,或

输出类型

  • 标量、向量或多维信号

  • 公共汽车

标量或矢量信号

时间数据要求

  • 数据类型必须为

  • 值必须单调递增

  • 数据类型必须为

  • 值必须单调递增

MAT文件版本

版本7.3

所有版本

从文件block只从MAT文件中的一个变量加载数据,而不管MAT文件包含多少个变量。从包含多个变量的Version 7.3 MAT文件加载数据时,将使用从文件块按字母顺序加载变量中的数据。Version 7.0或更早版本MAT文件使用的排序算法更复杂,因此在从Version 7.0或更早版本MAT文件加载数据时,请确保MAT文件仅包含单个变量的数据。

MAT文件版本

MAT文件的版本也会影响从文件块加载数据。从Version 7.3 MAT文件加载数据时,在模拟过程中以增量方式加载数据。当从Version 7.0或更早版本的MAT文件加载数据时,所有数据都在模拟开始时加载到内存中。

要将MAT文件转换为Version 7.3,请使用负载函数将Version 7.0或更早版本MAT文件中的数据加载到基本工作空间中,然后使用保存函数的版本指定为“-v7.3”.例如,假设您想转换文件myData.mat包含变量inputData版本7.3。使用这些命令:

负载(“myData.mat”);保存(“myData.mat”“inputData”“-v7.3”);

有关更多信息,请参见MAT-File版本

港口

输出

全部展开

使用从指定MAT文件加载的数据创建的输出。根据所加载的数据,输出可以是标量或多维信号,也可以是非虚拟总线。的从文件块支持加载所金宝app有内置数据类型的真实和复杂数据一半int64,uint64

从文件块不支持为总线数组加载数据。金宝app

数据类型:||int8|int16|int32|uint8|uint16|uint32|布尔|不动点|枚举|公共汽车
复数支持:金宝app是的

参数

全部展开

包含要加载数据的MAT文件的名称或路径。当文件不在MATLAB路径或当前工作目录中时,指定文件的路径。

可以在文本框中键入路径或文件名,也可以单击浏览到MAT文件浏览mat文件按钮.在UNIX®对于系统,路径可以以波浪号(~)开头,这表示您的主文件夹。

您不能从模型记录数据的文件中加载数据。

提示

  • 从文件块支持从使用金宝app到文件不需要对数据或文件进行任何修改。

  • 确定当前工作目录,输入松材线虫病进入MATLAB命令窗口。

  • 有关C/ c++代码生成的数据需求的信息从文件块,看代码生成

编程使用

块参数:文件名
类型:特征向量
价值观:MAT文件名| MAT文件的路径
默认值:“untitled.mat”

加载的MAT文件中数据的数据类型从文件块。默认情况下,从文件块从文件中的数据或从定义信号数据类型的下游块继承输出信号数据类型。如果MAT文件中数据的数据类型与继承的数据类型不匹配,则会发生错误。

为标量或多维信号加载数据时,可以选择继承输出数据类型,也可以指定输出数据类型以匹配MAT文件中数据的数据类型。

要为总线加载数据,请设置输出数据类型总线:<总线对象>的名称金宝app仿真软件。公共汽车对象,该对象定义输出总线。

要加载枚举数据,请设置输出数据类型Enum: <类名>并指定定义枚举数据值的枚举类的名称。

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

编程使用

块参数:OutDataTypeStr
类型:特征向量
价值观:'Inherit: auto' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <类名>' | '总线:<对象名>' | '<数据类型表达式>'
默认值:“继承:汽车”

样品时间参数指定在模拟过程中块何时计算新的输出值。详细信息请参见指定采样时间

指定样品时间当您不希望输出具有时间偏移时,将参数作为标量。要向输出添加时间偏移,请指定样品时间参数作为1——- - - - - -2向量,其中第一个元素是采样周期,第二个元素是偏移量。

默认情况下,样品时间参数值为0,表示连续采样时间,无时间偏移。对于离散信号,指定样品时间为离散采样间隔。例如,指定样品时间作为0.1为每100毫秒采样一次的离散信号建模。指定样品时间作为-1来继承该值。

编程使用

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

用外推法确定输出值,用于模拟时间之前的MAT文件中的第一个样本数据。

方法 描述 例子
线性外推法

块如何确定输出值取决于MAT文件中的数据类型。

  • 数据,从文件Block使用前两个样本线性外推输出值。

  • 布尔数据,从文件块使用MAT文件数据中的第一个值作为输出值。

  • 对于所有其他内置数据类型,从文件布洛克:

    1. 将数据向上转换为

    2. 使用MAT文件数据中的前两个示例线性外推输出值。

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

如果MAT文件数据只包含一个示例,则从文件块在输出时提供该值。

请勿使用线性外推法选项时,从文件块加载枚举数据或定点数据。

外推设置应用于总线上的所有信号。如果总线中的任何信号包含枚举数据或定点数据,则不要使用线性外推法选择。

显示From File块输出的图形,该块配置为在加载数据中的第一个示例之前线性外推模拟次数的输出值。块加载模拟开始2秒后开始的数据。

保持第一个值

从文件块使用MAT文件中的第一个数据值作为输出值。

显示From File块输出的图形,该块被配置为在加载数据中的第一个示例之前保存加载数据中的第一个值。块加载模拟开始2秒后开始的数据。

土地价值

从文件块输出值取决于MAT文件中的数据类型。

  • 内置数字类型-0

  • 布尔- - - - - -

  • 的值的表示0这可能并不完全正确0由于缩放和有限的精度。

  • 枚举数据类型-默认值

显示From File块输出的图形,该图形配置为在加载数据中的第一个示例之前使用接地值作为模拟次数的输出值。块加载模拟开始2秒后开始的数据。

提示

要生成构建ERT或GRT目标或使用SIL或PIL模拟模式的代码,请指定在第一个数据点之前的数据外推作为线性外推法.类生成C/ c++代码的详细信息从文件块,看代码生成

编程使用

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

插值方法用于确定MAT文件数据中样本之间模拟时间的输出值。

方法 描述 例子
线性插值

块如何确定输出值取决于MAT文件中的数据类型。

  • 数据,从文件块使用需要输出值的模拟时间前后的数据值线性插值输出值。

  • 对于所有其他内置数值数据类型,从文件布洛克:

    1. 将数据向上转换为

    2. 在需要输出值的模拟时间之前和之后使用MAT文件数据值线性插值输出值。

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

  • 布尔数据,如果模拟时间位于两个具有不同值的工作空间数据点之间,则从文件块将值转换置于MAT文件数据点之间的中间位置。例如,如果数据从真正的,从文件块提供的输出值为真正的为MAT文件数据点与输出值之间间隔的前半部分的模拟次数对于间隔后半段的模拟次数。

如果MAT文件数据只包含一个示例,则从文件块在输出时提供该值。

请勿使用线性插值选项时,从文件块加载枚举数据或定点数据。

插补设置应用于总线上的所有信号。如果总线中的任何信号包含枚举数据,则不要使用线性插值选择。

显示From File块输出的图形,该块配置为在加载数据中的示例之间线性插值模拟时间的输出值。

零阶保持器

从文件块保存从一个样本到下一个样本的每个数据值。MAT文件数据中两个样本之间模拟时间的输出值是在模拟时间之前的样本的值。

显示From File块输出的图形,该块配置为对加载数据中的样本之间的模拟时间使用零阶保持器插值。

提示

要生成构建ERT或GRT目标或使用SIL或PIL模拟模式的代码,请指定时间范围内的数据插值作为线性插值.类生成C/ c++代码的详细信息从文件块,看代码生成

编程使用

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

外推法用于确定模拟时间后的输出值,最后在MAT文件中采样数据。

方法 描述 例子
线性外推法

块如何确定输出值取决于MAT文件中的数据类型。

  • 数据,从文件block使用MAT文件中的最后两个样本线性外推输出值。

  • 布尔数据,从文件block使用MAT文件中的样例值作为输出值。

  • 对于所有其他内置数据类型,从文件布洛克:

    1. 将数据向上转换为

    2. 使用MAT文件数据中的最后两个示例线性外推输出值。

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

如果MAT文件数据只包含一个示例,则从文件块使用该值作为输出。

请勿使用线性外推法选项时,从文件块加载枚举数据或定点数据。

外推设置应用于总线上的所有信号。如果总线中的任何信号包含枚举数据,则不要使用线性外推法选择。

显示From File块输出的图形,该块配置为在加载数据的最后一个示例之后对模拟时间的输出值进行线性插值。块在模拟结束前2秒加载结束的数据。

保持最后价值

从文件块使用MAT文件中的最后一个数据值作为输出值。

显示From File块输出的图形,该块配置为在加载数据的最后一个示例之后保存模拟时间的最后一个输出值。块在模拟结束前2秒加载结束的数据。

土地价值

从文件块输出值取决于MAT文件中的数据类型。

  • 内置数字类型-0

  • 布尔- - - - - -

  • 的值的表示0这可能并不完全正确0由于缩放和有限的精度。

  • 枚举数据类型-默认值

显示From File块输出的图形,该图形配置为在加载数据的最后一个示例之后使用接地值作为模拟时间的输出值。块在模拟结束前2秒加载结束的数据。

提示

要生成构建ERT或GRT目标或使用SIL或PIL模拟模式的代码,请指定上一个数据点后的数据外推作为线性外推法.类生成C/ c++代码的详细信息从文件块,看代码生成

编程使用

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

过零检测定位不连续性,或零交叉,并防止在不连续点附近的时间步长过小,这可能会降低模拟的速度。的从文件块可以检测零交叉时样品时间参数设置为0连续采样时间。

当数据包含多个具有相同时间的样本时,加载的数据在块输出中产生不连续。例如,对于这个输入数据,在时间上出现不连续2

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

从文件Block还可以根据配置插值和外推的方式在输出中创建不连续。

  • 设置在第一个数据点之前的数据外推土地价值可以在加载数据的第一个样本处创建不连续。

  • 设置最后一个数据点之后的数据外推土地价值可以在加载数据的最后一个示例中创建不连续。

  • 设置时间范围内的数据插值零级举行在加载数据的每个样本(包括最后一个样本)上创建一个不连续。

此块仅在使用可变步长求金宝app解器的模拟中支持过零检测。当您使用固定步长求解器进行模拟时,软件不会检测或定位此块的零交叉点。

有关更多信息,请参见讨论二阶导数过零检测

提示

要生成构建ERT或GRT目标或使用SIL或PIL模拟模式的代码,请清除此复选框。类生成C/ c++代码的详细信息从文件块,看代码生成

编程使用

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

块特征

数据类型

布尔|公共汽车||枚举|不动点一个|整数|

直接引线

没有

多维信号

是的

适应信号

没有

讨论二阶导数过零检测

是的

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

扩展功能

版本历史

R2006a之前介绍