Поддержка управления трассируемостью в редакторе MATLAB является расширением основанного на Simulink Requirements Management Interface, чтобы разрешить ассоциации между линиями кода MATLAB и внешними артефактами. Эта возможность не требует файлов MATLAB редактирования; все данные о трассируемости хранятся отдельно. Это похоже на "внешнее" устройство хранения данных ссылок RMI при работе с моделями Simulink.
Кроме того, с помощью "внешнее устройство хранения данных" режим для получения информации о трассируемости управления, Simulink и пользователи Stateflow могут извлечь выгоду из более прекрасной гранулярности при соединении внешних документов с содержимым блоков MATLAB function.
Включенной модели в качестве примера сопоставили данные о трассируемости и с блоками Simulink и с отдельными строками кода блоков MATLAB function.
Этот пример демонстрирует соединение между внешними документами и линиями кода MATLAB, когда моделирование стимулировало пронзание в связанных нейронных ячейках.
Откройте slvnvdemo_synaptic_transmission модель. Существует три блока Model, ссылающиеся на ту же модель пронзающей нейронной ячейки. Нейронная модель ячейки следует "за Текучими Интеграторами" уравнение:
В целях симуляции мы преобразовали в:
Две функции MATLAB между нейронами вычисляют постсинаптические токи. Когда предсинаптическая деполяризация пересекает порог релиза нейромедиатора, мы постепенно увеличиваем постсинаптический ток одним импульсом данной амплитуды:
Получившиеся общие текущие затухания экспоненциально согласно
Мы запрещаем следующий шаг в течение определенного периода времени после предыдущего импульса, чтобы смоделировать эффект краткосрочной синаптической депрессии. Наша модель пропускает задержку аксональной передачи.
open_system('slvnvdemo_neuron'); open_system('slvnvdemo_synaptic_transmission');
Симулируйте slvnvdemo_synaptic_transmission модель. Проверяйте Осциллограф на результаты. Шесть графиков:
внешне введенный импульс электрического тока,
стимулированное инжекцией внутриклеточное напряжение, пронзающее из первого нейрона,
постсинаптический ток сгенерирован во втором нейроне,
синаптическим образом стимулированное действие второго нейрона,
постсинаптический ток сгенерирован в третьем нейроне,
синаптическим образом стимулированное действие третьего нейрона.
Наблюдайте регулярное пронзание восходящего нейрона (постройте 2), в то время как импульс стимуляции применяется (постройте 1). Синаптическим образом вызванный ток в нисходящем нейроне (строят 3) пропускает некоторые потенциалы действия восходящего нейрона из-за краткосрочного истощения нейромедиатора, смоделированного, когда временный файл выключает период в Синаптической текущей функции. Нисходящий нейрон, как замечается, иногда, объединяйтесь, больше чем один синаптический вход, чтобы произвести скачок (постройте 4). Третий нейрон объединяется, синаптические входные параметры от второго нейрона (постройте 5), и скачки в более позднее время (постройте 6). С нашими значениями параметров по умолчанию третий нейрон может пронзить 1 или более раз, в зависимости от намеренно введенного случайного шума в модели.
Мы присваиваем те же значения параметров для всех трех нейронов и обоих синапсов. Трассируемость, соединяющаяся, используется, чтобы выровнять по ширине значения параметров и реализацию.
sim('slvnvdemo_synaptic_transmission');
### Starting serial model reference simulation build ### Successfully updated the model reference simulation target for: slvnvdemo_neuron
slvnvdemo_synaptic_transmission модель запускает внешний скрипт, чтобы загрузить значения обязательного параметра в рабочую область. Код MATLAB, соединяющийся, позволяет вам прослеживать от зависимого блока в Simulink, не только к файлу скрипта, но и к определенной линии, которая задает значение, используемое в симуляции.
Найдите блок импульса Стимуляции в модели. Щелкните правой кнопкой по блоку и выберите Requirements Traceability> 1. "I_inj = 2e-11; % 20 Па", чтобы перейти по ссылке и просмотреть соответствующую подсвеченную область в файле кода MATLAB. Заметьте несовпадающее значение, так легко обнаруженное по ссылке Трассируемости. Щелкните правой кнопкой по другой подсвеченной линии по файлу MATLAB и перейдите назад к Simulink путем выбора ярлыка в контекстном меню Requirements Traceability.
rmi('highlightModel', 'slvnvdemo_synaptic_transmission'); rmipref('UnsecureHttpRequests',true); rmipref('BiDirectionalLinking',true);
Синаптический блок постоянной времени в левом нижнем углу модели еще не соединяется со своей связанной линией в скрипте параметров.
Убедитесь, что двунаправленное соединение включено, так, чтобы можно было создать двухсторонние ссылки трассируемости за один шаг. Во-первых, в Редакторе Simulink, выберите Синаптический блок постоянной времени. Затем в редакторе MATLAB выберите имя переменной Syn_decay_time в нижней части synaptic_params скрипта. Щелкните правой кнопкой по выбранной линии и из контекстного меню, выберите Requirements Traceability> Link to Selection in Simulink. Протестируйте новые ссылки путем навигации от MATLAB до Simulink и назад к MATLAB.
slvnvdemo_synaptic_transmission модель имеет блок MATLAB function, который мы захотим проследить до источников значения параметров. Вместо того, чтобы соединить сам блок, откройте код MATLAB этого блока и соедините определенные линии. Например, в Редакторе Simulink, нажмите на Синаптическую силу постоянный блок, чтобы выбрать его для соединения. В редакторе MATLAB найдите вхождение I_amplitude на линии 33 из кода блока MATLAB function. Щелкните правой кнопкой по линии и из контекстного меню Requirements Traceability, выберите Link to Selection in Simulink.
До этой точки мы только посмотрели на соединение между MATLAB и Simulink. Откройте Ион текущий блок MATLAB function вычисления, который принадлежит Натрию текущая подсистема вычисления slvnvdemo_neuron модели, на которую ссылаются. Щелкните правой кнопкой по подсвеченной линии или линиям и из контекстного меню Requirements Traceability, переместитесь по ссылке наверху. Связанный документ Word открывается к связанному тексту.
Чтобы создать подобную ссылку в другом блоке MATLAB function этой модели, Ион текущая Функция вычисления в канале Калия текущая подсистема, выбирают соответствующее содержимое в документе Word (т.е. исходящий ток ионов калия). Затем откройте канал Калия текущий блок MATLAB function. В редакторе MATLAB выберите реализацию для подфункции outwardCurrent (линии 34-37). Щелкните правой кнопкой по выбранным линиям и по контекстному меню, выберите Requirements Traceability> Link to Selection in Word. Минимизируйте документ Word, затем перейдите от недавно подсвеченных линий в нижней части кода MATLAB к связанному описанию в Word. Когда правильное местоположение будет подсвечено, используйте значок MATLAB, чтобы перейти назад к коду.
Ссылки трассируемости, сопоставленные с линиями кода MATLAB блоков MATLAB function, включены в Отчет Трассируемости требований, сгенерированный для родительской модели Simulink. Используйте Анализ>, Трассируемость требований> Генерирует Отчет в slvnvdemo_neuron окне модели, чтобы сгенерировать отчет. Смотрите информацию о ссылках блока MATLAB function, существующую в отчете, включая цитаты соединенных линий кода MATLAB.