主要内容

检测溢出

这个例子展示了如何检测使用的溢出定点转换器应用。在转换过程中的数值测试阶段,你选择模拟定点代码使用了双打。然后应用报告表达式在生成的代码中产生溢出定点数据类型的值。

先决条件

这个例子需要以下产品:下载188bet金宝搏

创建一个新的文件夹,复制相关文件

  1. 例如,创建一个本地工作目录c: \溢出

  2. 改变docroot \工具箱\ fixpoint \例子文件夹中。在MATLAB命令行,输入:

    cd (fullfile (docroot,“工具箱”,“fixpoint”,“示例”))

  3. 复制overflow.moverflow_test.m文件下载到本地工作目录。

    这是一个最佳实践是创建一个单独的测试脚本进行预处理和后处理,如:

    • 加载输入。

    • 设置输入值。

    • 输出测试结果。

    有关更多信息,请参见创建一个测试文件

    类型 的名字 描述
    函数代码 overflow.m MATLAB函数入口点
    测试文件 overflow_test.m MATLAB脚本测试overflow.m

溢流功能

overflow_test函数

打开定点转换器应用程序

  1. 导航到工作文件夹,其中包含文件对于这个示例。

  2. 在MATLAB将来发布应用程序选项卡,在代码生成,点击应用程序图标。

选择源文件

  1. 添加的入口点函数溢出项目,浏览该文件overflow.m,然后单击开放。默认情况下,应用程序保存信息和设置这个项目在当前文件夹的文件命名overflow.prj

  2. 点击下一个定义输入类型的一步。

    应用程序屏幕overflow.m为代码违规和定点转换准备问题。应用程序没有发现问题overflow.m

定义输入类型

  1. 定义输入类型页面,添加overflow_test作为一个测试文件,浏览到overflow_test.m,然后单击开放

  2. 点击Autodefine输入类型

    测试文件。应用程序决定了从测试文件的输入类型b双(1 x12),x双(256 x1),重置逻辑(1 x1)

  3. 点击下一个转换为定点的一步。

转换为定点

  1. 应用程序生成一个仪器的墨西哥人对你的入口点函数MATLAB函数。应用程序显示编译信息,类型,大小和复杂性——代码中的变量。有关更多信息,请参见查看和修改变量的信息

    函数替换标签的应用程序不支持显示功能定点转换。金宝app看到运行一个仿真

  2. 查看fimath设置,单击设置箭头。设置fimath产品模式和模式KeepLSB。这些设置模型C语言中的整数操作的行为。

  3. 点击分析

    测试文件,overflow_test,运行。这个应用程序显示模拟上的最小值和最大值范围变量选项卡。使用模拟数据范围,软件提出了定点类型为每个变量基于默认类型建议设置,并显示他们的建议类型列。

  4. 浮点算法转换为定点,点击转换

    软件验证该类型和生成一个定点版本的入口点函数。

    如果发生错误和警告在验证期间,应用程序显示他们输出选项卡。看到验证类型

测试数值运算和检查溢出

  1. 单击测试箭头。验证测试文件overflow_test.m。选择使用缩放双打检测溢出,然后单击测试

    应用程序运行测试文件用于定义输入类型测试定点MATLAB代码。因为你选择检测溢出,它也运行仿真使用了双版本的提议定点类型。在双精度浮点双打扩展存储数据,所以他们在全面执行算术。因为他们保持他们的定点设置,可以报告时计算出的定点类型的范围。

    模拟运行。应用程序检测到一个溢出。应用程序报告的溢出溢出选项卡。突出的表达式溢出,单击溢出。

  2. 决定是否和溢出的乘法。

    fimath设置,设置产品模式FullPrecision,然后再次重复转换和定点测试代码。

    溢出仍然发生,这表明它是在满溢的表达式。