Зависимость Анализатор идентифицирует необходимые файлы и дополнения для вашего проекта или модели. Анализ покрывает широкий спектр зависимостей, включая модели - ссылки, ссылки подсистемы, соединил библиотеки, MATLAB® и C/C++
код, Stateflow® графики, файлы данных, S-функции и документы требований.
Когда Зависимость Анализатор сталкивается с кодом MATLAB, такой как в модели или коллбэке блока, или в .m
S-функция файла, это пытается идентифицировать файлы, на которые это ссылается. Для получения дополнительной информации смотрите Аналитические Ограничения.
Для файлов под корневой папкой MATLAB Зависимость Анализатор только показывает требуемые продукты. Это не анализирует зависимости.
Анализатор Зависимости идентифицирует зависимости в пользовательских дополнениях и зависимости, которые были введены генерацией кода или кодом MATLAB в параметрах модели. Эти опции прочь по умолчанию, потому что они могут быть трудоемкими для больших проектов.
Чтобы задать осциллограф анализа, в Зависимости панель инструментов Анализатора, нажимают Analyze и выбирают один или несколько следующих опций:
Опция | Значение по умолчанию | Описание |
---|---|---|
C/C++ Code | On | Анализируйте зависимости, введенные C/C++ файлы кода. |
Add-Ons | Off | Анализируйте зависимости в дополнениях. |
Model Parameters | Off | Анализируйте зависимости, введенные кодом MATLAB в параметрах блока модели. |
Generated Code Traceability | Off | Анализируйте зависимости, введенные кодом, сгенерированным из модели. |
Зависимость Анализатор имеет ограничения, характерные для анализа кода MATLAB:
Анализатор Зависимости только идентифицирует входные аргументы функции, когда они - векторы буквенного символа или строки:
load("mydatafile") load mydatafile
Если вы задаете имя файла как переменную и передаете его функции, Зависимость, Анализатор не может идентифицировать зависимость. В следующем примере, поскольку код не выполнен, Зависимость, Анализатор не имеет значения str
. Зависимость Анализатор может сообщить о недостающей зависимости.
str = "mydatafile";
load(str);
load
, такой как fopen
, xlsread
, importdata
, dlmread
, eval
, или imread
.Зависимость Анализатор не всегда определяет тип автоматически. В зависимости от пути вы вызываете метод объекта, Зависимость, Анализатор может перепутать метод с функцией и сообщить о недостающей зависимости.
В MATLAB можно вызвать метод объекта двумя различными способами. Например, для объекта p
, можно вызвать метод addFile
использование функционального обозначения:
p = currentProject;
addFile(p,"myfile");
p = currentProject;
p.addFile("myfile");
p
явным образом, Зависимость, Анализатор может перепутать вызов метода, который использует функциональное обозначение с вызовом функции. Анализатор сообщает о addFile
как недостающая зависимость.Чтобы работать вокруг этого ограничения, используйте запись через точку, чтобы вызвать метод или аргументы использования, чтобы явным образом объявить тип переменной в вашей функции:
function myfunction(p) arguments p matlab.project.Project end addFile(p,"myfile"); end
Анализатор Зависимости не сообщает о зависимости классу, на который ссылаются с помощью вызова метода.
Зависимость Анализатор не может сообщить об определенных библиотеках, требуемых моделью.
Анализатор Зависимостей не может обнаружить набор блоков, который не вводит зависимости ни от каких файлов, таких как Fixed-Point Designer™.
Чтобы включать зависимости, которые не может обнаружить анализ, добавьте файл, который вводит зависимость вашему проекту. Чтобы создать проект из вашей модели, смотрите, Создают Проект из Модели.
Зависимость Анализатор не может обнаружить требуемые пакеты поддержки. Это перечисляет требуемые дополнения, включая приложения и тулбоксы.
Зависимость Анализатор не может сообщить о зависимостях для динамического контента в маскированных блоках.
На основе параметров маскированных блоков динамические маски могут изменить подсистему маскированную и изменить зависимости от блока. Если динамическая маска находится в библиотеке, Зависимость, Анализатор не может обнаружить динамические изменения.
Зависимость Анализатор не поддерживает Simulink® функции вызваны от блоков MATLAB function.
Анализатор Зависимости не поддерживает диаграммы Stateflow, которые используют MATLAB в качестве языка действия.
Некоторый MathWorks® продукты и дополнения совместно используют код и Библиотеки Simulink. Зависимость Анализатор может сообщить о зависимостях от всех них.
Заниматься расследованиями, где разделяемый код используется, в панели Properties, в разделе Products, точке к продукту под Shared Functionalities Among: и кликает по поисковому значку папки.
Зависимость Анализатор анализирует код проекта, не оценивая его содержимое, поэтому:
Зависимость Анализатор не добавляет глобальные переменные в выполняемых функциях.
Анализатор Зависимости анализирует код в логических операторах, даже если это не выполняется. В следующем примере код не выполнен, но Зависимость, Анализатор сообщает о недостающей зависимости от Simulink.
if false load_system(vdp) end