48968 (597417), страница 23
Текст из файла (страница 23)
Директория matlab\strfun
Общие (General)
-
char - Сформировать массив символов (строку).
-
double - Преобразовать символы строки в числовые коды.
-
cellstr - Преобразовать массив символов в массив ячеек для строк.
-
blanks - Сформировать строку пробелов.
-
deblank - Удалить пробелы в конце строки.
-
eval - Выполнение выражения, записанного в виде строки символов.
Проверка строк (String tests)
-
ischar - Истинно, если это массив символов.
-
iscellstr - Истинно, если это массив ячеек для строк.
-
isletter - Истинно, если это символ (буква) алфавита.
-
isspace - Истинно, если это пробел.
Операции над строками (String operations)
-
strcat - Горизонтальное объединение строк.
-
strvcat - Вертикальное объединение строк.
-
strcmp - Сравнить строки.
-
strncmp - Сравнить первые N символов строк.
-
strcmpi - Сравнить строки игнорируя регистр.
-
strncmpi - Сравнить первые N символов строк игнорируя регистр.
-
findstr - Найти заданную строку в составе другой строки.
-
strjust - Выравнять массив символов.
-
strmatch - Найти все совпадения.
-
strrep - Заменить одну строку другой.
-
strtok - Найти часть строки, ограниченную разделителями (token).
-
upper - Перевести все символы строки в верхний регистр.
-
lower - Перевести все символы строки в нижний регистр.
Преобразования строк (String to number conversion)
-
num2str - Преобразование числа в строку.
-
int2str - Преобразование целых чисел в строку.
-
mat2str - Преобразование матрицы в строку.
-
str2double - Преобразование строки в число удвоенной точности.
-
str2num - Преобразование массива строк в числовой массив.
-
sprintf - Записать форматированные знаки в виде строки.
-
sscanf - Прочитать строку с учетом формата.
Преобразование систем счисления (Base number conversion)
-
hex2num - Преобразовать шестнадцатеричное число в число удвоенной
точности.
-
hex2dec - Преобразовать шестнадцатеричное число в десятичное число.
-
dec2hex - Преобразовать десятичное число в шестнадцатеричное число.
-
bin2dec - Преобразовать двоичную строку в десятичное число.
-
dec2bin - Преобразовать десятичное число в двоичную строку.
-
base2dec - Преобразовать В-строку в десятичное число.
-
dec2base - Преобразовать десятичное число в В-строку.
Справочник по базовым функциям
системы MATLAB
Функция PLOT
Назначение - Двумерный линейных график
Синтаксис - plot(Y)
plot(X1, Y1, ...)
plot(X1, Y1, LineSpec, ...)
plot(..., 'PropertyName', PropertyValue, ...)
h = plot(...)
Описание. Если прямоугольный числовой массив Y является действительным, то функция plot(Y) строит линейные графики столбцов массива Y в зависимости от индексов их элементов. Если Y содержит комплексные числа, то запись plot(Y) эквивалентна записи plot(real(Y), imag(Y)). Во всех остальных случаях, при использовании plot мнимые компо-ненты игнорируются.
Команда plot(X1, Y1, ...), где количество пар массивов может быть произвольным, осуществ-ляет следующие построения.
-
Если оба массива одномерные, то строится линейный график функции, где одномер-ный массив X1 соответствует значениям аргумента, а одномерный массив Y1 – зна-чениям функции.
-
Если оба массива X1 и Y1 – двумерные (они должны иметь при этом одинаковую размерность), то строятся попарно линейные зависимости столбцов Y1 от соответст-вующих столбцов X1.
-
Если массив Y1 двумерный, а массив X1 одномерный, то строятся линейные графики всех столбцов или строк массива Y1 в зависимости от элементов вектора X1. Выбор столбцов или строк массива Y1 здесь определяется размерностью вектора X1, то есть это могут быть и столбцы и строки (если массив Y1 - квадратный, то приоритет отда-ется столбцам)
-
Если двумерным является массив X1, а массив Y1 одномерный (то есть вектор), то строятся графики столбцов или строк массива X1 в зависимости от элементов векто-ра Y1 (см. также предыдущий вариант).
Функция plot(X1, Y1, LineSpec,...) осуществляет приведенные выше построения, причем в спецификации линий LineSpec можно указать типы линий, символы маркеров и их цвета. Вы можете комбинировать тройки Xn, Yn, LineSpec с парами Xn, Yn, т.е. задавать специ-фикации LineSpec только для некоторых пар массивов, например: plot(X1, Y1, X2, Y2, LineSpec, X3, Y3).
Функция plot(... , 'PropertyName', PropertyValue,...) устанавливает свойство всех постро-енных линий, указанное строкой 'PropertyName', в соответствие с его значением, заданным в PropertyValue (См. раздел «Примеры» ниже).
h = plot(...) возвращает вектор-столбец всех дескрипторов (handles) построенных на графи-ке линий, по одному дескриптору на каждую линию.
Замечания. Если вы не задаете цвета при построении более чем одной линии, то функция plot циклически выбирает последовательные цвета так, как они указаны в свойстве ColorOrder текущих осей. После того как все цвета, определенные в ColorOrder, будут ис-пользованы, функция plot использует циклически стили линий (line styles) так, как они определены в свойстве LineStyleOrder текущих осей. При этом, после перехода к каждому новому стилю линии, происходит циклический выбор всех определенных цветов. Отметим, что по умолчанию, система MATLAB восстанавливает свойства ColorOrder и LineStyleOrder при каждом новом вызове функции plot. Если вы хотите сохранить введенные вами в данные свойства изменения, то вы должны задать эти изменения как значения по умолчанию. Например, команда
set(0, 'DefaultAxesColorOrder', [0 0 0], 'DefaultAxesLineStyleOrder', '-|-.|--|:')
задает на корневом (экранном) уровне использование только черного цвета при построении линий (свойство ColorOrder), а также использование следующих стилей линий (свойство LineStyleOrder) : сплошная линия (-), штрих-пунктирная линия (-.), штриховая линия (--) и пунктирная линия (:).
Дополнительная информация
• Для получения более обширной информации по заданию стилей и цветов линии см. раз-дел LineSpec.
Примеры
1. Задание цвета и размера маркеров
Помимо цвета и стиля, имеется также возможность задавать и другие графические харак-теристики линий (более подробное описание этих свойств дано в описании функции line):
• LineWidth – задание ширины линии в точках (points), где 1 точка равна 1/72 дюйма.
• MarkerEdgeColor – задание цвета маркера или цвета граней маркера для «заполненных» маркеров (кружков, квадратов, ромбов, пентаграмм (пятиугольников), гексаграмм (шести-угольников), и четырех типов треугольников).
• MarkerFaceColor – задание цвета поверхности заполненных маркеров.
• MarkerSize – задание размера маркера в единицах точки.
Например, выражения
x = -pi : pi/10 : pi;
y = tan(sin(x)) - sin(tan(x));
plot(x, y, '--rs', 'LineWidth', 2,...
'MarkerEdgeColor', 'k',...
'MarkerFaceColor', 'g',...
'MarkerSize', 10)
дают следующий график
2. Задание положений меток (Tick-Mark) и указание надписей (Labeling)
Вы имеете возможность устанавливать положение меток на осях, а также вид надписей на каждой метке. Например, в следующем графике синусоидальной функции производится изменение маркировки оси x, с целью придания более значимых и информативных значений меток и их надписей:
x = -pi : 0.1 : pi;
y = sin(x);
plot(x, y)
set(gca, 'XTick',-pi : pi/2 : pi)
set(gca, 'XTickLabel',{'-pi', '-pi/2', '0', 'pi/2', 'pi'})
Добавление заголовков, надписей к осям и аннотаций
Добавим теперь надписи к осям и комментарий к точке -pi/4, sin(-pi/4).
Следующие три стандартные команды позволяют ввести надписи к осям x и y, а также общий заголовок к графику
xlabel('-\pi \leq \Theta \leq \pi')
ylabel('sin(\Theta)')
title('Plot of sin(\Theta)')
а команда text дает возможность ввести текстовую информацию в любую выбранную точ-ку координатных осей
text(-pi/4, sin(-pi/4), '\leftarrow sin(-\pi\div4)', 'HorizontalAlignment', 'left')
Изменим также цвет линии на красный, находя сперва дескриптор линии, созданной фун-кцией plot, а затем установив требуемое свойство линии Color property. В том же выраже-нии установим толщину линии LineWidth равной двум точкам
set(findobj(gca, 'Type', 'line', 'Color', [0 0 1]),...
'Color','red',,...
'LineWidth', 2)
См. также функции:
axis, bar, grid, legend, line, LineSpec, loglog, plotyy, semilogx, semilogy, subplot, xlabel,
xlim, ylabel, ylim, zlabel, zlim, stem
См. свойство String функции text , где дается список символов и описывается их приме-нение.
LineSpec
Назначение. Спецификации задания свойств графического объекта линия (Line).
Описание. В данном разделе описывается как можно задать свойства линий, используе-мых при построении графиков. Система MATLAB дает возможность задавать многие ха-рактеристики, включая:
-
Стиль линии (Line style)
-
Толщину линии (Line width)
-
Цвет (Color)
-
Тип маркера (Marker type)
-
Размер маркера (Marker size)
-
Цвета поверхности и граней маркера (для заполненных маркеров)
MATLAB предусматривает специальные символьные спецификаторы (описатели) для сти-лей линий, типов маркеров и цветов. В следующих таблицах дается перечисление этих спецификаторов.
Спецификаторы стилей линии
Спецификаторы | Стили линии |
- | Сплошная линия (по умолчанию) |
-- | Штриховая линия |
: | Пунктирная линия |
-. | Штрих-пунктирная линия |
Спецификаторы маркеров
Спецификаторы | Типы маркеров |
+ | Знак плюс |
o | Кружочек |
* | Звездочка |
. | Точка |
x | Крестик |
s | Квадрат |
d | Ромб |
^ | Треугольная стрелка вверх |
v | Треугольная стрелка вниз |
> | Треугольная стрелка направо |
< | Треугольная стрелка налево |
p | Пятиугольная звезда (пентаграмма) |
h | Шестиугольная звезда (гексаграмма) |
Спецификаторы цвета
Спецификатор | Цвет |
r | Красный |
g | Зеленый |
b | Синий |
c | Голубой (cyan) |
m | Магента (magenta) |
y | Желтый |
k | Черный |
w | Белый |
Многие графические функции допускают аргумент LineSpec, который определяет три спецификатора для характеристики линии:
-
Стиль линии
-
Тип маркера
-
Цвет
Например, функция plot(x, y, '-.or') строит график значений y от аргумента x, используя штрих-пунктирную линию (-.); размещает круглые маркеры (o) в точках данных, и окра-шивает как линию, так и маркеры в красный цвет (r). Данные спецификаторы нужно задать (в любом порядке) как строка символов в кавычках, после записей массивов данных. Если вы задаете в LineSpec только маркеры, но не стиль линии (например, plot(x,y,'d')), MATLAB наносит только маркеры (без линий)
Связанные (родственные) свойства. При использовании функций plot и plot3, вы можете задавать также другие характеристики линий, используя следующие графические свойства:
-
LineWidth – задает ширину линии (в точках, равных 1/72 дюйма)
-
MarkerEdgeColor – задает цвет маркера или цвет граней для заполненных маркеров (кружок, квадрат, ромб, пентаграмма, гексаграмма, и четыре треугольника).
-
MarkerFaceColor – задает цвет поверхности заполненного маркера
-
MarkerSize – задает размер маркера в точках
В дополнение, вы можете задавать графические свойства LineStyle, Color, и Marker вместо использования символьной строки. Это может быть полезным, например, если вы хотите задать цвет, которого нет в приведенном выше списке спецификаторов цвета, при помощи тройки значений RGB. Более подробная информация о возможностях выбора цвета дана в разделе ColorSpec.
Примеры
Построим синусоидальную функцию для трех различных пределов изменения аргумента, используя различные стили линий, цвета и маркеры.
t = 0 : pi/20 : 2*pi;
plot(t, sin(t), '-.r*')
hold on
plot(sin(t - pi/2), '--mo')
plot(sin(t - pi), ':bs')
hold off
Построим еще один график, иллюстрирующий как можно задавать свойства линий.
plot(t, sin(2*t),'-mo',...
'LineWidth', 2,...
'MarkerEdgeColor', 'k',...
'MarkerFaceColor', [0.49 1 0.63],...
'MarkerSize', 12)
См. также функции:
line, plot, patch, set, surface, и свойство LineStyleOrder координатных осей
1 Данная терминология не совсем соответствует принятой в русско-язычных изданиях.