Main Content

matlab.codetools.requiredFilesAndProducts

列出 MATLAB 程序文件的依赖项

说明

示例

fList = matlab.codetools.requiredFilesAndProducts(files) 返回运行 files 指定的程序文件所需的 MATLAB® 程序文件列表。

matlab.codetools.requiredFilesAndProducts 函数可提供一些有用信息,以便您传递给您 MATLAB 程序文件的使用者。

示例

[fList, pList] = matlab.codetools.requiredFilesAndProducts(files) 还返回运行 files 指定的程序文件可能所需的 MathWorks® 产品列表。

如果您使用收到的 MATLAB 代码上的 matlab.codetools.requiredFilesAndProducts 函数,则 plist 仅包含在您的系统上安装的必需工具箱。在这种情况下,plist 可能不完整。

示例

[fList, pList] = matlab.codetools.requiredFilesAndProducts(___,'toponly') 指示,对于要包括在输出中的文件或产品,它必须被 files 中指定的至少一个文件直接使用。'toponly' 输入选项不区分大小写。

示例

全部折叠

确定 Image Processing Toolbox™ 中 edge 函数的必需文件和产品。

[fList,pList] = matlab.codetools.requiredFilesAndProducts('edge.m')
fList = 

     {}


pList = 

1x2 struct array with fields:

    Name
    Version
    ProductNumber
    Certain

没有必需的 MATLAB 文件,但有两个必需的产品。

列出必需的产品。

{pList.Name}'
ans = 

    'MATLAB'
    'Image Processing Toolbox'

在当前工作文件夹下的 getRandomNumber.m 文件中创建一个函数。

function a = getRandomNumber
    rng shuffle
    a = rand;
end

现在,在命令行,确定 getRandomNumber.m 必需的文件和产品。

[fList,pList] = matlab.codetools.requiredFilesAndProducts('getRandomNumber.m')
fList = 

    'C:\work\getRandomNumber.m'


pList = 

             Name: 'MATLAB'
          Version: '8.5'
    ProductNumber: 1
          Certain: 1

运行 getRandomNumber 函数所需的唯一文件是函数文件本身。唯一必需的 MathWorks 产品是 MATLAB。

在当前工作文件夹下的 displayNumber.m 文件中创建一个函数。

function displayNumber
    a = getRandomNumber;
    disp(['Your number is ' num2str(a)])
end

现在,在命令行,确定 displayNumber.m 必需的文件和产品。

[fList,pList] = matlab.codetools.requiredFilesAndProducts('displayNumber.m')
fList = 

    'C:\work\displayNumber.m'    'C:\work\getRandomNumber.m'


pList = 

             Name: 'MATLAB'
          Version: '8.5'
    ProductNumber: 1
          Certain: 1

除了函数文件本身之外,displayNumber 函数还需要 getRandomNumber.m 文件。唯一必需的 MathWorks 产品是 MATLAB。

在您当前的工作文件夹中,在 ExampleHandle.m 文件中创建一个句柄类。

classdef ExampleHandle < handle
    % class content
end

在您当前的工作文件夹中,在 ExampleHandle 文件中创建一个继承自 AnotherExampleHandle.m 的类。

classdef AnotherExampleHandle < ExampleHandle
    % class content
end

在您当前的工作文件夹中,在文件 getHandles.m 中创建一个实例化 AnotherExampleHandle 对象的函数。

function [h1,h2] = getHandles()
    h1 = AnotherExampleHandle;
    h2 = AnotherExampleHandle;
end

现在,在命令行,确定 getHandles.m 必需的文件。

[fList,~] = matlab.codetools.requiredFilesAndProducts('getHandles.m');
fList'
ans = 

    'C:\work\AnotherExampleHandle.m'
    'C:\work\ExampleHandle.m'
    'C:\work\getHandles.m'

确定 getHandles.m 直接需要的必需文件。

[fList,~] = matlab.codetools.requiredFilesAndProducts('getHandles.m','toponly')
fList = 

    'C:\work\AnotherExampleHandle.m'    'C:\work\getHandles.m'

虽然 AnotherExampleHandle.m 需要 ExampleHandle.m,但该文件不是 getHandles.m 而言并非直接要求。

输入参数

全部折叠

供分析的文件列表,指定为字符向量、字符向量元胞数组或字符串数组。每个元素都是单个 MATLAB 程序文件的名称。例如,files 是您打算提供给其他用户的 MATLAB 程序文件列表。matlab.codetools.requiredFilesAndProducts 函数向您提供随您的文件传递的先决条件信息。

为确保获得准确的依赖项分析,files 和依赖项必须在 MATLAB 路径上。对于不在此路径上的从属文件,matlab.codetools.requiredFilesAndProducts 不会返回其相关信息。

示例: 'myFile.m'"C:\Program Files\MATLAB\R2014a\my_work\myFile.m"

示例: {'myFile.m','myOtherFile.m'}

示例: cellstr(ls('*.m'))

输出参数

全部折叠

files 所需的用户创建的 MATLAB 程序文件列表,以字符向量元胞数组形式返回。每个字符向量指示一个必需文件的完整路径。fList 不包括内置的 MATLAB 文件,因为这些文件随 pList 中列出的产品一起安装。

fList 包括使用标准文件格式和低级 I/O 函数访问的依存文件。这些依存文件包括文本文件、电子表格、图像、音频、视频和 XML 文件。例如,如果您分析的文件包含代码 load('mydata.mat'),则 matlab.codetools.requiredFilesAndProducts 函数会在 fList 中包含 mydata.mat

支持自动检测依存文件的函数包括 audioinfoaudioreadcsvreaddaqreaddlmreadfilereadfopenimfinfoimportdataimreadloadmatfilemmfileinfoopenreadtabletypeVideoReaderxlsfinfoxlsreadxmlreadxslt

files 可能必需的 MathWorks 产品列表,以结构体或结构体数组形式返回。通过名称(Name 字段)、版本(Version 字段)、产品编号(ProductNumber 字段)和确定性指示符(Certain 字段)描述每种产品。如果 matlab.codetools.requiredFilesAndProducts 确定指定程序文件 files 需要该产品,则 Certain 字段的值为 1;如果是可能需要该产品,则具有值 0。

matlab.codetools.requiredFilesAndProducts 函数可提供一些有用信息,以便您传递给您 MATLAB 程序文件的使用者。版本号指示您在执行该函数时已安装产品的版本。Version 不指示向后兼容性。

版本历史记录

在 R2014a 中推出

另请参阅