主要内容

依赖性分析仪范围和限制

分析范围

依赖性分析器标识项目或模型所需的文件和附加组件。分析涵盖了广泛的依赖项,包括模型引用,子系统参考,链接库,Matlab®C / C ++代码,stateflow.®图表,数据文件,S函数和要求文档。

当依赖性分析仪遇到MATLAB代码时,例如在模型或阻止回调中,或者.m文件S函数,它尝试识别IT引用的文件。有关更多信息,请参阅分析限制

对于MATLAB根文件夹下的文件,依赖性分析器仅显示所需产品。s manbetx 845它没有分析依赖关系。

依赖性分析仪识别用户定义的加载项和依赖关系内的依赖关系,这些附加组件和依赖项在模型参数中由Matlab代码引入。默认情况下,这些选项已关闭,因为它们可能对大型设计耗时。

要指定分析的范围,请在依赖性分析器工具系列中单击分析并选择以下选项中的一个或多个:

选项 默认 描述
C / C ++代码 分析所介绍的依赖关系C / C ++代码文件。
附加组件 离开 分析附加组件内的依赖关系。
模型参数 离开 分析Matlab代码在模型块参数中引入的依赖关系。
生成的代码可追溯性 离开 分析由模型生成的代码引入的依赖项。

分析限制

  • 依赖性分析仪具有特定于MATLAB代码分析的限制:

    • 依赖性分析器仅在文字字符向量或字符串时识别函数输入参数:

      加载(“mydatafile”) 加载mydatafile.

      如果将文件名定义为变量并将其传递给函数,则依赖性分析器无法识别依赖项。在以下示例中,由于未执行代码,因此依赖性分析器没有值str.。依赖性分析仪可能会报告缺少的依赖项。

      str =“mydatafile”;加载(str);
      该限制延伸到类似于的功能加载, 如富豪xlsread.importData.dlmread.求解, 或者Imread.

    • 依赖性分析器并不总是自动确定类型。根据您调用对象方法的方式,依赖性分析仪可能会使一个函数混淆并报告缺失的依赖项。

      在MATLAB中,您可以用两种不同的方式调用对象方法。例如,对于对象P.,您可以调用该方法添加文件使用功能表示法:

      p = currentProject;addfile(p,“myfile”);
      或者使用点表示法:
      p = currentProject;p.addfile(“myfile”);
      如果您没有声明类型P.显式,依赖性分析仪可能会混淆使用函数符号的方法调用。分析仪报告添加文件作为缺失的依赖。

      要解决此限制,请使用点表示法调用方法或使用参数在函数中显式声明变量类型:

      功能myfunction(p)争论P.matlab.project.project.project.结尾addfile(p,“myfile”);结尾

  • 依赖性分析器可能不会报告模型所需的某些块集。

    依赖性分析仪无法检测不会在任何文件上引入依赖性的块,例如固定点设计器™。

    要包含分析无法检测到的依赖项,请添加引入对项目依赖的文件。要从模型中创建项目,请参阅从模型中创建项目

  • 依赖性分析器可能无法检测到所需的支持包。万博1manbetx它列出了必需的附加组件,包括应用程序和工具箱。

  • 依赖性分析器可能不会报告屏蔽块中的动态内容的依赖关系。

    基于屏蔽块的参数,动态掩模可以修改屏蔽子系统并更改块依赖性。如果动态掩码位于库中,依赖性分析器无法检测到动态变化。

  • 依赖性分析器不支持Simulink万博1manbetx万博1manbetx®从MATLAB功能块调用的函数。

  • 依赖性分析器不支持使用MATLAB作为动作语言的StateFlow万博1manbetx图表。

  • 一些数学作业®s manbetx 845产品和附加组件共享代码和Simulink库。万博1manbetx依赖性分析器可能会报告所有这些依赖性。

    调查使用共享代码的位置特性面板,在s manbetx 845部分,指向产品下共享功能:并单击“搜索文件夹”图标

  • 因此,依赖性分析器在不评估其内容的情况下分析项目代码,因此:

    • 依赖性分析器不会在执行的函数中添加全局变量。

    • 依赖性分析器分析逻辑语句内的代码,即使没有执行。在以下示例中,未执行代码,但依赖性分析器报告对Simulink的缺失依赖项。万博1manbetx

      如果false load_system(VDP)结尾

相关话题