Материал: MATLAB 5. Анализ технических систем. Слепокуров Ю.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

clabel

Маркировка линий равного уровня

 

 

Синтаксис: clabel(C) clabel(C, v) clabel(C, 'manual')

clabel(C) добавляет метки к линиям уровня в случайно выбранных позициях.

clabel(C, v) маркирует линии уровня контура, заданные в векторе v. clabel(C, 'manual') маркирует линии уровней в позициях, указываемых с

помощью мыши. Нажатие клавиши Return или правой кнопки мыши завершает маркировку. Если мышь недоступна, то можно использовать клавишу пробела для перехода между линиями уровней и ―клавиши-стрелки‖ для перемещения перекрестия.

Пример:

»[X,Y]=meshgrid([-3:0.1:3]);

»Z=sin(X)./(X.^2+Y.^2+0.3);

»C=contour(X,Y,Z,10);

»colormap(gray)

»clabel(C)

3

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

0.238

 

 

 

1

 

 

 

 

 

 

 

 

-0.396

-0.555

 

 

 

 

 

-0.713

 

 

 

 

 

 

 

 

 

0

 

 

0.0792

 

 

 

 

 

-0.238

 

 

 

 

 

 

 

 

 

 

 

 

0.555

 

 

 

-1

 

 

 

0.396

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.0792

-2

 

 

 

 

 

 

 

-0.0792

 

 

 

 

-3

 

 

 

 

 

 

-3

-2

-1

0

1

2

3

Рис. 1.12

 

 

 

 

 

 

text

 

 

Ввод надписи в любое место графика

Синтаксис:

text(x, у, '<текст>') text(x, y, z, '<текст>')

text(x, у, '<текст>') помещает в заданной точке (х, у) двумерного графика начало текста, указанного в качестве третьего аргумента. Если х и у одномерные массивы, заданный текст помещается во все позиции, определяемые координатами [x(i) y(i)].

text(x, у, z, '<текст>') выводит текст на трехмерный график.

Приведем примеры написания команд без показа их графической реализации.

Создать графическое окно и написать символ 'х' в трех точках с координатами (1, 1), (5, 10), (10, 20):

plot([1 5 10], [1 10 20], 'х')

Написать, начиная с позиции (5, 10), 'Action point': text(5, 10, 'Action point')

Написать, в позициях (2, 10), (7, 16) 'Нет активных точек': text([2 7], [10 16], ‗Нет активных точек‘)

gtext

Ввод текста на график с помощью мыши

 

 

Cинтаксис: gtext('<текст>')

Команда gtext('<текст>') высвечивает в активном графическом окне перекрестие, перемещение которого позволяет указать место ввода заданного текста; по завершении позиционирования нажатие кнопки мыши или любой клавиши вводит заданный текст.

Пример. Разместим на графике функции у = sin(x)/x маркер "Скорость":

»x=1e-6:0.05:10;

»plot(x,sin(x)./x)

»grid

»gtext('Скорость')

legend

Вывод пояснения

Синтаксис:

legend('<текст1>', '<текст2> ', ‗<текст3>', ...)

legend('<wi<n линии\>', '<текст\>', '<тип линии2.>', '<текст2>', .,.) legend(h,...)

legend(M) legend(h, M) legend off legend(..., n)

legend('<текст1>', '<текст2> ', ‗<текст3>', ...)

добавляет к текущему

графику пояснение в виде указанных текстовых строк.

 

legend('<wi<n линии\>', '<текст\>', '<тип линии2.>', '<текст2>', .,.)

позволяет специфицировать тип линии, которая выносится в пояснение, так, как это делается в команде plot.

legend(h. ...) добавляет пояснение к графику с дескриптором h. Команды legend(M) и legend(h, M), где М - массив строк, также допусти-

мы для формирования пояснения. Следует помнить, что строки массива М должны иметь одинаковую длину.

legend off удаляет пояснение с текущего графика.

legend(..., n) устанавливает предельное количество позиций для размещения пояснения. Если оказывается, что в области графика места недостаточно, график перестраивается и пояснение размещается вне пределов графика. Если n = -1, то пояснение размещается вне области графика. Если n = 0, то пояснение размещается в области графика, если места для этого достаточно.

Для перемещения пояснения следует нажать левую кнопку мыши, находясь в этой области, а затем переместить пояснение в нужную позицию.

Замечание:

Для того чтобы избежать пересечения пояснения с линиями графика или нанесенной сеткой, необходимо текущему графическому объекту axes присвоить дескриптор пояснения:

hi = legend(....) axes(hl)

print -dbitmap

colorbar

Вывод шкалы палитры

 

 

Синтаксис:

 

colorbar('vert')

 

colorbar('horiz')

 

colorbar(h)

 

colorbar

colorbar('vert') добавляет к текущему графику вертикальную шкалу палитры.

colorbar('horiz') добавляет к текущему графику горизонтальную шкалу палитры.

colorbar(h) добавляет к графику с дескриптором h шкалу палитры. Размещение шкалы реализуется автоматически в зависимости от соотношения ширины и высоты графика.

Команда colorbar без аргументов размещает на текущем графике новую вертикальную шкалу палитры или обновляет прежнюю.

1.10. ПРОГРАММИРОВАНИЕ И ОЛАДКА

Система MATLAB обычно работает в режиме интерпретации команд и операторов: они вводятся в ходе сеансов в командной строке, а MATLAB выполняет их немедленную обработку и выдает вычисленный результат. Однако в MATLAB есть возможность обработки заранее подготовленной последовательности команд и операторов, записанных в виде файла (эти файлы имеют расширение *.m).

М-файлы, содержащие команды и операторы MATLAB, разделяются на файлы-сценарии и процедуры-функции.

Сценарий – это внешний файл, содержащий последовательность команд, операторов и функций системы MATLAB. После ввода имени такого файла начинается последовательная интерпретация его операторов.

Замечание: имена файлов-сценариев не разрешается использовать в качестве операндов в выражениях или в качестве аргументов функций.

function

Заголовок процедуры-функции

 

 

Синтаксис:

function[<список выходных переменных>] = <имя функции>(<список входных переменных>).

Если первая строка М-файла начинается с определения

function[<список выходных переменных>] = <имя функции>(<список входных переменных>),

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

Стандартная структура М-функции должна быть следующей:

Первая строка объявляет имя функции, а также ее входные и выходные аргументы. Без такой строки этот файл был бы М-файлом сценария;

После объявления имени функции должны быть записаны строки комментариев, содержащие справочную информацию о данной функции и поясняющие ее назначение и используемые параметры. Для этого служит символ %;

Переменные в теле функции - это локальные переменные, в отличие от переменных Script-файлов сценариев, которые являются глобальными.

М-функции используются так же, как обычные встроенные функции системы MATLAB. Имя М-функции можно использовать при записи арифметических выражений.

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

Функция в системе MATLAB не имеет никаких отличительных признаков, и при обращении к ней MATLAB просто ищет файл с соответствующим именем, просматривая все пути доступа, определенные переменной MATLAB PATH. Когда файл найден, он проходит процедуру компиляции, размещается в оперативной памяти и только после этого начинает выполняться. В этом - также отличие функции от Script-файла, который выполняется только в режиме интерпретации. Для удаления откомпилированной функции из памяти используется команда clear <имя функции>.

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

Пример:

Типовое оформление процедуры-функции в системе MATLAB:

function w = rmovel(v)

%RMOVEL удаляет из вектора v совпадающие элементы.

%Вызов функции:

%w == rmovel(v)

%Используемые функции:

%MATLAB: length, find

%ППП SNAE: нет

%Входные переменные:

%v - исходный вектор.

%Выходные переменные:

%w - вектор, не содержащий одинаковых элементов.

Источник: https://studfile.net/preview/16565812/