Зависимость осциллограф анализатора и ограничения

Аналитический осциллограф

Зависимость Анализатор идентифицирует необходимые файлы и тулбоксы для вашего проекта или модели. Анализ покрывает широкий спектр зависимостей, включая модели - ссылки, ссылки подсистемы, соединил библиотеки, MATLAB® и C/C++ код, графики Stateflow®, файлы данных, S-функции и документы требований.

Когда Зависимость Анализатор сталкивается с кодом MATLAB, такой как в модели или коллбэке блока, или в .m S-функция файла, это пытается идентифицировать файлы, на которые это ссылается. Для получения дополнительной информации смотрите Аналитические Ограничения.

Для файлов под корневой папкой MATLAB Зависимость Анализатор только показывает требуемые продукты. Это не анализирует зависимости.

Анализатор Зависимости идентифицирует зависимости в пользовательских тулбоксах и зависимости, которые были введены генерацией кода или кодом MATLAB в параметрах модели. Эти опции прочь по умолчанию, потому что они могут быть трудоемкими для больших проектов.

Чтобы задать осциллограф анализа, в Зависимости панель инструментов Анализатора, нажимают Analyze и выбирают один или несколько следующих опций:

ОпцияЗначение по умолчаниюОписание
C/C++ CodeНаАнализируйте зависимости, введенные C/C++ файлы кода.
External Toolboxes'off'Анализируйте зависимости в пользовательских тулбоксах.
Model Parameters'off'Анализируйте зависимости, введенные кодом MATLAB в параметрах блока модели.
Generated Code Traceability'off'Анализируйте зависимости, введенные кодом, сгенерированным из модели.

Аналитические ограничения

  • Зависимость Анализатор имеет ограничения, характерные для анализа кода MATLAB:

    • Анализатор Зависимости только идентифицирует входные аргументы функции, когда они - векторы буквенного символа или строки:

      load("mydatafile")
      load mydatafile

      Если вы задаете имя файла как переменную и передаете его функции, Зависимость, Анализатор не может идентифицировать зависимость. В следующем примере, поскольку код не выполнен, Зависимость, Анализатор не имеет значения str. Зависимость Анализатор может сообщить о недостающей зависимости.

      str = "mydatafile";
      load(str);
      Это ограничение расширяет к функциям, похожим на load, такой как fopenxlsreadИмпортируйте данныеdlmreadeval, или 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

  • Зависимость Анализатор не может сообщить об определенном blocksets или тулбоксах, требуемых моделью.

    Анализатор Зависимости не может обнаружить blocksets, которые не вводят зависимости ни от каких файлов, таких как Fixed-Point Designer™.

    Чтобы включать зависимости, которые не может обнаружить анализ, добавьте файл, который вводит зависимость вашему проекту. Чтобы создать проект из вашей модели, смотрите, Создают Проект из Модели.

  • Зависимость Анализатор не может сообщить о зависимостях для динамического контента в маскированных блоках.

    На основе параметров маскированных блоков динамические маски могут изменить подсистему маскированную и изменить зависимости от блока. Если динамическая маска находится в библиотеке, Зависимость, Анализатор не может обнаружить динамические изменения.

  • Анализатор Зависимости не поддерживает диаграммы Stateflow, которые используют MATLAB в качестве языка действия.

  • Некоторые продукты и тулбоксы совместно используют библиотеки Simulink® и код. Зависимость Анализатор может сообщить о зависимостях от всех них.

Похожие темы