From File
从文件中读取数据。
模块类型: EngeeFunction
|
库中的路径:
|
资料描述
要使用该块,请安装/更新支持包。 节奏块。
座 From File 从文件中读取数据 AnyMath . 块部分地从文件中读取数据,而在仿真过程中不消耗内存。 块图标显示将从中读取数据的文件的名称。 块支持从文件中读取数据 CSV和 JLD2。
单位支持在模拟期间的操作 AnyMath 和半自然建模的复杂 «节奏». 工作时 «节奏» 正在文件夹中搜索文件 /home/ritm/数据.
使用块的示例 ritm-engee_demo_block_from_file。工程师 可在目录与示例。 要获取示例,请使用命令 恩吉。包裹。getdemos:
engee.package.getdemos("RITM-Engee-Blocks")
文件中数据格式的要求
- 支持以下类型的数据
-
-
布尔; -
Int8; -
Int16; -
Int32; -
Int64; -
UInt8; -
UInt16; -
UInt32; -
UInt64; -
漂浮物32; -
漂浮64.
-
支持读取以下维度的数据:
*标量; *向量; *二维矩阵。
JLD2
JLD2文件中的所有信号都必须写入变量 信号 在格式 DataFrames。 数据帧 必须包含标量字段 时间 与数据类型 漂浮64. 此字段由块解释 From File 作为此行中所有其他数据的时间戳。 在建模过程中,块 From File 按顺序从文件中读取数据,并将满足条件的时间点的信号值返回模型 时间≤t,在哪里 t -当前模型时间。
using JLD2: jldsave
using DataFrames
time = collect(range(0, stop=10.0, step=0.01))
frequencies = [1.0, 2.0, 3.0]
sines = [
[sin(2π * f * t) for f in frequencies]
for t in time
]
counter = UInt8.(mod.(0:length(time)-1, 5))
df = DataFrame(
time = time,
sines = sines,
counter = counter,
)
jldsave(joinpath(@__DIR__, "from_file.jld2"); signals = df)
df
参数
Main group
# File name: — 输入文件的名称
Details
带有扩展名的输入文件的名称 .jld2 或 .csv档案源.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
# Update signals list — 更新输出信号
Details
当按下此按钮时,该单元从文件中重新读取数据并更新输出信号列表。
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
# Loopback mode: — 循环模式
Details
如果选择此选项,则块将在到达文件中的最后时间点后再次开始显示时间序列。
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
# Sample time: — 调用该块的时间段
Details
将计算步骤之间的间隔指定为非负数。 要继承计算步骤,请将此参数设置为 −1.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
