Аннотации - это визуальные элементы, которые можно использовать для добавления описательных примечаний и выносок в модель. В дополнение к аннотациям, предназначенным только для текста, можно создавать аннотации, которые:
Открыть веб-сайты
Выполнение команд MATLAB ®
Отображение изображений
Визуально дифференцировать области блок-схем
В следующих примерах показано, как программно создавать, редактировать и удалять аннотации.
Программно создавать, изменять и просматривать аннотации.
Откройте новую модель.
open_system(new_system)
Создание аннотации со свойствами по умолчанию с помощью Simulink.Annotation функция.
a = Simulink.Annotation(gcs,'This is an annotation.');После создания аннотации используйте точечную нотацию для задания значений свойств. Например, примените к аннотации 18-точечный шрифт и светло-синий фон.
a.FontSize = 18;
a.BackgroundColor = 'lightBlue';Чтобы просмотреть и кратко выделить новую аннотацию, используйте view функция.
view(a)
Программный поиск и изменение свойств аннотации.
Откройте окно vdp модель.
vdp
Чтобы найти аннотации в модели, используйте find_system функция.
h = find_system(gcs,'FindAll','on','Type','annotation');
Чтобы определить аннотации, запросите текст внутри аннотаций с помощью get_param функция.
get_param(h,'PlainText')ans = 2x1 cell
{'Copyright 2004-2020 The MathWorks, Inc.'}
{'van der Pol Equation' }
Предположим, что вы хотите применить синий цвет фона к 'van der Pol Equation' аннотация.
Получить Simulink.Annotation путем указания соответствующего индекса массива.
a = get_param(h(2),'Object');Используйте точечную нотацию для установки значения BackgroundColor собственность.
a.BackgroundColor = 'lightBlue';Программно удалить аннотацию.
Откройте окно vdp модель.
vdp
Чтобы получить маркеры перемещения для аннотаций в модели, используйте find_system функция.
h = find_system(gcs,'FindAll','on','Type','annotation');
Чтобы определить аннотации, запросите текст внутри аннотаций.
get_param(h,'PlainText')ans = 2x1 cell
{'Copyright 2004-2020 The MathWorks, Inc.'}
{'van der Pol Equation' }
Удаление заголовка модели ('van der Pol Equation'), получить Simulink.Annotation объект, соответствующий второму дескриптору.
a = get_param(h(2),'Object');Удалите аннотацию из модели.
delete(a)
Для аннотаций в формате RTF можно использовать форматирование HTML для добавления гиперссылки к тексту в аннотации.
Откройте новую модель.
open_system(new_system)
Создайте две аннотации, перемещая одну из них так, чтобы она не перекрывала другую.
a1 = Simulink.Annotation(gcs,'This is an annotation.'); a2 = Simulink.Annotation(gcs,'This is another annotation.'); a2.Position = [0 20 28 34];
Чтобы создать гиперссылку в аннотации, задайте Interpreter кому 'rich' и определите гиперссылку в Text собственность.
a1.Interpreter = 'rich'; a1.Text = 'Go to <a href="www.mathworks.com">www.mathworks.com</a>.';
В гиперссылку также можно встроить функции MATLAB.
a2.Interpreter = 'rich'; a2.Text = '<a href="matlab:magic(4)">Generate magic square</a>.';
Дополнительные сведения см. в разделе Создание гиперссылок для выполнения функций.
Добавьте в модель изображение, например логотип, создав аннотацию только для изображения.
Откройте новую модель и создайте в ней аннотацию.
open_system(new_system)
a = Simulink.Annotation(gcs,'This is an annotation.');Измените аннотацию для отображения только указанного изображения.
img = fullfile(matlabroot,'toolbox','matlab','imagesci','peppers.png'); setImage(a,img)
Создание аннотации области в модели.
Откройте окно vdp модель.
open_system('vdp')Создайте область, содержащую некоторые блоки в модели.
add_block('built-in/Area','vdp/This is an area','Position',[120,100,230,200])

Чтобы создать аннотации, которые можно легко скрыть, создайте пометки.
Откройте новую модель.
open_system(new_system)
Создайте две аннотации и переместите вторую аннотацию так, чтобы она не перекрывала первую аннотацию.
a1 = Simulink.Annotation(gcs,'This is a model annotation.'); a2 = Simulink.Annotation(gcs,'This is a markup annotation.'); a2.Position = [0 20 28 34];
По умолчанию создаются аннотации модели, которые появляются в модели.
Измените вторую аннотацию на аннотацию разметки.
a2.MarkupType = 'markup';Настройка текущей модели для скрытия аннотаций пометок.
set_param(gcs,'ShowMarkup','off');
Обе аннотации остаются, несмотря на скрытие пометки.
ah = find_system(gcs,'FindAll','on','Type','annotation'); at = get_param(ah,'Text')
at = 2x1 cell
{'This is a markup annotation.'}
{'This is a model annotation.' }
Если аннотация вызвала выполняемую в данный момент функцию обратного вызова, используйте getCallbackAnnotation чтобы определить, какая аннотация его вызвала. Функция возвращает соответствующее Annotation объект. Эта функция также полезна при записи функции обратного вызова в отдельный файл MATLAB, содержащий несколько вызовов обратного вызова.
add_block | delete (Annotation) | setImage (Annotation) | Simulink.Annotation | view (Annotation)