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 - вектор, не содержащий одинаковых элементов.