double arrow
Специальные символы

К классу операторов в системе MATLAB относятся также специальные символы. Они предназначены для создания самых разнообразных объектов входного язы­ка и языка программирования системы и придания им различных форм. Ниже представлено описание полного набора специальных символов.

Специальные символы MATLAB

Обозначение Название Категория
: Двоеточие colon
( ) Круглые скобки paren
[ ] Квадратные скобки paren
{ } Фигурные скобки paren
. Десятичная точка punct
. Выделение поля структуры punct
.. Родительский каталог punct
Продолжение строки punct
, Разделитель punct
; Точка с запятой punct
% Комментарий punct
! Вызов команды операционной системы punct
- Присваивание punct
' Кавычка punct
' Транспонирование transpose
; Транспонирование с комплексным сопряжением ctranspose
[, ] Горизонтальная конкатенация horzcdt
[;] Вертикальная конкатенация vertcat
     
( ), { }, . Присваивание подмассива subsasgn
( ). { }, . Ссылка на подмассив subsref
  Индекс подмассива subsindex

Теперь рассмотрим их более подробно.

- : (двоеточие) — формирование подвекторов и подматриц из векторов и мат­риц. Оператор : — один из наиболее часто используемых операторов в систе­ме MATLAB.

Оператор : использует следующие правила для создания векторов:

- j : k — тоже, что и [j,j+l,...,k];

- j : k — пустой вектор, если j>k;

- j : i : k — то же, что и [j.j+i ,j+2i, …, k];




- j : i : k — пустой вектор, если i>0 и j>k или если i<0 и j<k, где i, j и k — скаляр­ные величины.

Покажем как выбирать с помощью оператора : строки, столбцы и элемен­ты из векторов, матриц и многомерных массивов:

- А(:, j) — это j-й столбец из А;

- A(i,:) — это i-я строка из А;

- А(:,:) — эквивалент двумерного массива. Для матриц это аналогично А;

- A(j:k) – это A(j),A(j+l),...,A(k);

- A(:,j:k) - это А(: ,j),A(: ,j+l), …, A(:,k);

- А(:,: ,k) — это k-я страница трехмерного массива А;

- A(i,j,k,:) — вектор, выделенный из четырехмерного массива А. Вектор вклю­чает элементы A(i,j,k,l), A(i,j,k,2), A(i ,j,k,3) и т. д.;

- А(:) — записывает все элементы массива А в виде столбца.

Символы ( ) (круглые скобки) используются для задания порядка выполнения операций в арифметических выражениях, указания последовательности аргументов функции и указания индексов элемента вектора или матрицы. Если X и V — век­торы, то X (V) можно представить как [X(V(1). X(V(2)) X(V(n))]. Элементы век­тора V должны быть целыми числами, чтобы их можно было использовать как индексы элементов массива X. Ошибка генерируется в том случае, если индекс элемента меньше единицы или больше, чем size(X). Такой же принцип индексирования действителен и для матриц. Если вектор V имеет m компонентов, а век­тор W — n компонентов, то A(V,W) будет матрицей размера m x n, сформированной из элементов матрицы А, индексы которой — элементы векторов V и W.



Символы [ ] (квадратные скобки) используются для формирования векторов и матриц:

- [6.9 9.64 sqrt(-l)] — вектор, содержащий три элемента, разделенных пробелами;

- [6.9, 9.64, i] —такой же вектор;

- [1+j 2-j 3] и [1 +j 2 -j 3] — разные векторы: первый содержит три элемента, а второй пять;

- [11 12 13; 21 22 23] — матрица размера 2x3. Точка с запятой разделяет первую и вторую строки.

Еще несколько примеров:

- А = [ ] — сохраняет пустую матрицу в А;

- А(m,:)-[ ] — удаляет строку m из матрицы А;

- А(: ,n) = [ ] — удаляет столбец n из матрицы А.

Символы { } (фигурные скобки) используются для формирования массивов ячеек. Например, (magic(3) 6.9 'hello'} — массив ячеек с тремя элементами.

Символ . (десятичная точка) используется для отделения дробной части чисел от целой. Например, 314/100, 3.14 и .314е1 — одно и то же число.

Кроме того, символ точки . используется для выделения полей структур. Напри­мер, A.(field) и A(i).field, где А — структура, означает выделение поля структу­ры с именем «field».

Приведем назначение остальных специальных символов MATLAB:

.. (родительский каталог) — переход по дереву каталогов на один уровень вверх;

... (продолжение) — три или более точек в конце строки указывают на про­должение строки;

; (точка с запятой) — используется внутри круглых скобок для разделения строк матриц, а также в конце операторов для запрета вывода на экран резуль­тата вычислений;

, (запятая) — используется для разделения индексов элементов матрицы и аргументов функции, а также для разделения операторов языка MATLAB. При разделении операторов в строке запятая может заменяться на точку с запятой с целью запрета вывода на экран результата вычислений;

% (знак процента) — используется для указания логического конца строки. Текст, находящийся после знака процента, воспринимается как комментарий и игно­рируется (увы, за исключением русскоязычных комментарий, которые неред­ко ведут к ошибочным командам);

! (восклицательный знак) — является указателем ввода команды операцион­ной системы. Строка, следующая за ним, воспринимается как команда опера­ционной системы;

= (знак равенства) — используется для присваивания значений в арифмети­ческих выражениях;

' (одиночная кавычка, апостроф) — текст в кавычках представляется как век­тор символов с компонентами, являющимися ASCII-кодами символов. Кавычка внутри строки задается двумя кавычками. Например:

» а='Hello' 'my friend'

а = Hello 'my friend

' (транспонирование с комплексным сопряжением) — транспонирование мат­риц, например А' — транспонированная матрица А. Для комплексных матриц транспонирование дополняется комплексным сопряжением. Строки транспо­нированной матрицы соответствуют столбцам исходной матрицы;

.' (транспонирование) — транспонирование массива, например А.' — транс­понированный массив А. Для комплексных массивов операция сопряжения не выполняется;

[,] — горизонтальная конкатенация. Так, [А,В] — горизонтальная конкатена­ция (объединение) матриц А и В. А и В должны иметь одинаковое количество строк. [А В] действует аналогично. Горизонтальная конкатенация может быть применена для любого числа матриц в пределах одних скобок: [А,В,С]. Гори­зонтальная и вертикальная конкатенации могут использоваться одновремен­но: [А,В;С];

[;] — вертикальная конкатенация. Так, [А;В] — вертикальная конкатенация (объединение) матриц А и В. А и В должны иметь одинаковое число столбцов. Вертикальная конкатенация может быть применена для любого числа матриц в пределах одних скобок: [А;В;С]. Горизонтальная и вертикальная конкатена­ции могут использоваться одновременно: [А;В,С];

( ), { } — присваивание подмассива. Приведем несколько примеров:

• А(I)=В — присваивает значения элементов массива В элементам массива А, которые определяются вектором индексов I. Массив В должен иметь такую
же размерность, как и массив I, или может быть скаляром;

• А( I, J)=B — присваивает значения массива В элементам прямоугольной под­матрицы А, которые определяются векторами индексов I и J. Массив В дол­жен иметь LENGTH(I) строк и LENGTH(J) столбцов;

• А{ I }=В, где А — массив ячеек и I — скаляр, помещает копию массива В в за­данную ячейку массива А. Если I имеет более одного элемента, то появля­ется сообщение об ошибке.






Сейчас читают про: