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

Область анализа

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

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

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

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

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

ОпцияЗначение по умолчаниюОписание
C/C++ CodeOnАнализируйте зависимости, введенные C/C++ файлы кода.
Add-OnsOffАнализируйте зависимости в дополнениях.
Model ParametersOffАнализируйте зависимости, введенные кодом MATLAB в параметрах блока модели.
Generated Code TraceabilityOffАнализируйте зависимости, введенные кодом, сгенерированным из модели.

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

  • Зависимость Анализатор имеет ограничения, характерные для анализа кода 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

Похожие темы