Вы здесь

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

 

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

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

Таблица 8.4. Специальные символы MATLAB

:

Двоеточие

colon

( )

Круглые скобки

paren

[ ]

Квадратные скобки

paren

{ }

Фигурные скобки

paren

.

Десятичная точка

punct


.

Выделение поля структуры

punct


..

Родительский каталог

punct


...

Продолжение строки

punct

,

Разделитель

punct


;

Точка с запятой

punct

%

Комментарий

punct

i

Вызов команды операционной системы

punct

=

Присваивание

punct

1

Кавычка

punct

1

Транспонирование

transpose

1

Транспонирование с комплексным сопряжением

ctranspose

[,]

Горизонтальная конкатенация

horzcat

[;]

Вертикальная конкатенация

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, где 1, j и k — скалярные величины.

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

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

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

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

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

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

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

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

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

Символы ( ) (круглые скобки) используются для задания порядка выполнения операций в арифметических выражениях, указания последовательности аргументов функции и указания индексов элемента вектора или матрицы. Если X и V — векторы, то X(V) можно представить как [X(V(D), X(V(2)).....X(V(n))]. Элементы вектора V должны быть целыми числами, чтобы их можно было использовать как индексы элементов массива X. Ошибка генерируется в том случае, если индекс элемента меньше единицы или больше, чем size(X). Такой же принцип индексирования действителен и для матриц. Если вектор V имеет т компонентов, а вектор W — п компонентов, то A(V,W) будет матрицей размера mxn, сформированной из элементов матрицы А, индексы которой — элементы векторов 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-кодами символов. Кавычка внутри строки задается двумя кавычками. Например:

» a-'Hello''my friend'

а =

Hello'my friend

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

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

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

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

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

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

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

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

 


Top.Mail.Ru