主要内容

关于数据类型金宝app

关于数据类型

这个词数据类型指计算机在内存中表示数字或文本的方式。数据类型决定了分配给数字或字母的存储容量、用于将数字值编码为二进制数字模式的方法以及用于操作该类型的操作。大多数计算机都提供了用于表示数字的数据类型选择,每种数据类型在精度、动态范围、性能和内存使用方面都具有特定的优势。为了优化性能,可以指定MATLAB中使用的变量的数据类型®技术的计算环境。金宝app动态仿真模块®通过允许您指定Simulink信号和块参数的数据类型,构建此功能。金宝app

指定模型信号和块参数的数据类型的能力在实时控制应用程序中特别有用。例如,它允许Simulink模型指定用于表示信号和金宝app代码块参数的最佳数据类型,代码块是由自动代码生成工具生成的,例如金宝app仿真软件编码器™产品。通过为模型的信号和参数选择最合适的数据类型,可以显著提高性能并减少从模型生成的代码的大小。

金宝appSimulink在模拟之前和模拟期间执行广泛的检查,以确保您的模型是类型安全,即由模型生成的代码不会溢出或下溢,从而产生错误的结果。金宝app使用默认数据类型的Simulink模型()本质上是类型安全的。因此,如果您从未计划从您的模型生成代码或在您的模型中使用非默认数据类型,您可以跳过本节的其余部分。

另一方面,如果您计划从您的模型生成代码并使用非默认数据类型,请仔细阅读本节的其余部分,特别是关于数据类型规则的部分(请参阅数据类型化的指导方针).通过这种方式,您可以避免引入数据类型错误,从而阻止您的模型运行到完成或完全模拟。

数据类型化的指导方针

遵循以下规则可以帮助你创建类型安全的模型,因此执行时不会出错:

  • 信号数据类型一般不影响参数数据类型,反之亦然。

    该规则的一个重要例外是Constant块,它的输出数据类型由其参数的数据类型决定。

  • 如果块的输出是一个输入和参数的函数,并且输入和参数的类型不同,Simulink会在计算输出之前将参数转换为输入类型。金宝app

  • 通常,块输出其输入处出现的数据类型。

    重要的异常包括常量块和数据类型转换块,它们的输出数据类型由块参数决定。

  • 虚块在其输入上接受任何类型的信号。

    虚拟块的例子包括Mux多路分配器块和无条件执行的子系统。

  • 连接到非虚块端口的信号阵列的元素必须具有相同的数据类型。

  • 连接到非虚块的输入数据端口的信号类型不能不同。

  • 控制端口(例如,Enable和Trigger端口)接受任何数据类型。

  • 解算器块只接受信号。

  • 连接一个非向块发送信号将禁用该块的过零检测。

数据类型传播

每当启动模拟、启用端口数据类型显示或刷新端口数据类型显示时,Simulink都会执行一个称为数据类型传播的处理步骤。金宝app该步骤包括确定未指定信号类型的信号类型,并检查信号类型和输入端口,确保两者不冲突。如果出现类型冲突,则会显示一个错误对话框,指定数据类型冲突的信号和端口。还突出显示了创建类型冲突的信号路径。

请注意

您可以在模型中插入类型转换(数据类型转换)块来解决类型冲突。有关更多信息,请参见数据类型转换

另请参阅

|

相关的话题