Операторы MATLAB и специальные символы

Эта страница содержит всесторонний список всех операторов MATLAB®, символов и специальных символов.

Арифметические операторы

СимволРольБольше информации
+

Сложение

plus
+

Унарный плюс

uplus
-

Вычитание

minus
-

Унарный минус

uminus
.*

Поэлементное умножение

times
*

Умножение матриц

mtimes
./

Поэлементное правильное деление

rdivide
/

Матричное правильное деление

mrdivide
.\

Поэлементное покинутое деление

ldivide
\

Матрица покинула деление

(также известный как наклонную черту влево)

mldivide
.^

Поэлементная степень

power
^

Матричная степень

mpower
.'

Перемещение

transpose
'

Комплексное сопряженное транспонирование

ctranspose

Операторы отношения

СимволРольБольше информации
==

Равный

eq
~=

Не равняются

ne
>

Больше, чем

gt
>=

Больше, чем или равный

ge
<

Меньше, чем

lt
<=

Меньше чем или равный

le

Логические операторы

СимволРольБольше информации
&

Логический AND

and
|

Логический OR

or
&&

Логический AND (с замыканием накоротко)

Logical Operators: Short-Circuit && ||
||

Логический OR (с замыканием накоротко)

~

Логический НЕТ

not

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

СимволИмя символаРольОписаниеПримеры
@

В символе

Конструкция указателя на функцию и ссылка

Символ @ формирует указатель или на именованную функцию, которая следует за знаком @, или к анонимной функции, которая следует за знаком @.

Создайте указатель на функцию к именованной функции:

fhandle = @myfun

Создайте указатель на функцию к анонимной функции:

fhandle = @(x,y) x.^2 + y.^2;
@

В символе

Вызовите методы суперкласса

Используйте символ @, чтобы вызвать методы суперкласса от подклассов.

Вызовите метод disp MySuper от подкласса:

disp@MySuper(obj)

Вызовите конструктора суперкласса от подкласса с помощью создаваемого объекта:

obj = obj@MySuper(arg1,arg2,...)
.

Период или точка

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

  • Поэлементные операции

  • Доступ к полю структуры

  • Свойство объекта или спецификатор метода

Символ точки разделяет неотъемлемые и дробные части номера, такие как 3.1415. Операторы MATLAB, которые содержат период всегда, работают поэлементные. Символ точки также позволяет вам получить доступ к полям в структуре, а также свойствам и методам объекта.

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

102.5543

Поэлементные операции:

A.*B
A.^2

Доступ к полю структуры:

myStruct.f1

Спецификатор свойства объекта:

myObj.PropertyName
...

Точечная точечная точка или замещающий знак

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

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

Примечание

MATLAB интерпретирует замещающий знак как пробел. Поэтому многострочные команды должны быть допустимыми как одна строка с замещающим знаком, замененным пробелом.

Продолжите вызов функции на следующей строке:

sprintf(['The current value '...
'of %s is %d'],vname,value)

Разбейте вектор символов на несколько строк и конкатенируйте строки вместе:

S = ['If three or more periods occur before the '...
    'end of a line, then the rest of that line is ' ...
    'ignored and MATLAB continues to the next line']

Чтобы прокомментировать одну строку в многострочной команде, используйте ... в начале строки, чтобы гарантировать, что команда остается завершенной. Если вы используете %, чтобы прокомментировать строку, он производит ошибку:

y = 1 +...
    2 +...
  % 3 +...
    4;

Однако этот код запускается правильно, поскольку третья строка не производит разрыв в команде:

y = 1 +...
    2 +...
... 3 +...
    4;
,

Запятая

Разделитель

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

Отдельные элементы строки, чтобы создать массив:

A = [12,13; 14,15]

Отдельные индексы:

A(1,2)

Отдельные аргументы ввода и вывода в вызовах функции:

[Y,I] = max(A,[],2)

Разделите несколько команд на той же строке (показав вывод):

figure, plot(sin(-pi:0.1:pi)), grid on
:

Двоеточие

  • Векторное создание

  • Индексация

  • Обработка в цикле

Используйте оператор двоеточия, чтобы создать расположенные с равными интервалами векторы, индекс в массивы, и задать границы цикла for.

Создайте вектор:

x = 1:10

Создайте вектор, который постепенно увеличивается 3:

x = 1:3:19

Измените форму матрицы в вектор-столбец:

A(:)

Присвойте новые элементы, не изменяя форму массива:

A = rand(3,4);
A(:) = 1:12;

Индексируйте область значений элементов в конкретной размерности:

A(2:5,3)

Индексируйте все элементы в конкретной размерности:

A(:,3)

Границы цикла for:

x = 1;
for k = 1:25
    x = x + x^2;
end
;

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

  • Покажите конец строки

  • Подавите вывод строки кода

Используйте точки с запятой, чтобы разделить строки в команде создания массивов или подавить выходное отображение строки кода.

Отдельные строки, чтобы создать массив:

A = [12,13; 14,15]

Подавите код вывод:

Y = max(A);

Разделите несколько команд на одной строке (подавляющий вывод):

A = 12.5;  B = 42.7,  C = 1.25;
B =
   42.7000
( )

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

  • Приоритет операторов

  • Корпус аргумента функции

  • Индексация

Используйте круглые скобки, чтобы задать приоритет операций, заключить входные аргументы функции и индекс в массив.

Приоритет операций:

(A.*(B./C)) - D

Корпус аргумента функции:

plot(X,Y,'r*')
C = union(A,B)

Индексация:

A(3,:)
A(1,2)
A(1:5,1)
[ ]

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

  • Конструкция массивов

  • Конкатенация массивов

  • Пустой элемент матрицы и удаление элемента массива

  • Несколько присвоение выходного аргумента

Квадратные скобки включают конструкцию массивов и конкатенацию, создание пустых матриц, удаление элементов массива и значения получения, возвращенные функцией.

Создайте трехэлементный вектор:

X = [10 12 -3]

Добавьте новый нижний ряд в матрицу:

A = rand(3);
A = [A; 10 20 30]

Создайте пустую матрицу:

A = []

Удалите столбец матрицы:

A(:,1) = []

Получите три выходных аргумента от функции:

[C,iA,iB] = union(A,B)
{ }

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

Присвоение массива ячеек и содержимое

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

Чтобы создать массив ячеек, заключите все элементы массива в фигурных скобках:

C = {[2.6 4.7 3.9], rand(8)*6, 'C. Coolidge'}

Индексируйте к определенному элементу массива ячеек путем включения всех индексов в фигурные скобки:

A = C{4,7,2}
%

Процент

  • Комментарий

  • Спецификатор преобразования

Знак процента обычно используется, чтобы указать на неисполняемый текст в теле программы. Этот текст обычно используется, чтобы включать комментарии в ваш код.

Некоторые функции также интерпретируют знак процента как спецификатор преобразования.

Два знака процента, %%, служат разделителем ячейки, как описано в Секциях кода.

Добавьте комментарий в блок кода:

% The purpose of this loop is to compute
% the value of ...

Используйте спецификатор преобразования с sprintf:

sprintf('%s = %d', name, value)
%{ %}

Фигурная скобка процента

Блокируйте комментарии

%{ и символы %} заключают блок комментариев, которые расширяют вне одной строки.

Примечание

За исключением пробельных символов, %{ и операторы %} должны казаться одними на строках, которые сразу предшествуют и следуют за блоком текста справки. Не включайте никакой другой текст на этих строках.

Заключите любые многострочные комментарии с процентом, сопровождаемым открытием или закрывающей фигурной скобкой:

%{
The purpose of this routine is to compute
the value of ... 
%}
!

Восклицательный знак

Команда операционной системы

Восклицательный знак предшествует командам операционной системы, которые вы хотите выполнить из MATLAB.

Не доступный в MATLAB Online™.

Восклицательный знак инициирует функцию Escape интерпретатора. Такая функция должна быть выполнена непосредственно операционной системой:

!rmdir oldtests
?

Вопросительный знак

Метакласс для класса MATLAB

Вопросительный знак получает объект meta.class для конкретного имени класса. Оператор ? работает только с именем класса, не объектом.

Получите объект meta.class для класса inputParser:

?inputParser
''

Одинарные кавычки

Конструктор символьного массива

Используйте одинарные кавычки, чтобы создать векторы символов, которые имеют класс char.

Создайте вектор символов:

chr = 'Hello, world'
""

Двойные кавычки

Представьте конструктора в виде строки

Используйте двойные кавычки, чтобы создать скаляры строки, которые имеют класс string.

Создайте скаляр строки:

S = "Hello, world"
N/A

Пробел

Разделитель

Используйте пробел, чтобы разделить элементы строки в конструкторе Array или значения, возвращенные функцией. В этих контекстах пробел и запятая эквивалентны.

Отдельные элементы строки, чтобы создать массив:

% These statements are equivalent
A = [12 13; 14 15]
A = [12,13; 14,15]

Отдельные выходные аргументы в вызовах функции:

% These statements are equivalent
[Y I] = max(A)
[Y,I] = max(A)
~

Тильда

  • Логический НЕТ

  • Заполнитель аргумента

Используйте символ тильды, чтобы представлять логический НЕ или подавить определенные аргументы ввода или вывода.

Вычислите логическое НЕ матрицы:

A = eye(3);
~A

Определите, где элементы A не равны тем из B:

A = [1 -1; 0 1]
B = [1 -2; 3 2]
A~=B

Возвратите только третье выходное значение union:

[~,~,iB] = union(A,B)
=

Знак "равно"

“()” Присвоение

Используйте знак "равно", чтобы присвоить значения переменной. Синтаксис B = A хранит элементы A в переменной B.

Примечание

Символ = для присвоения, тогда как символ == для сравнения элементов в двух массивах. Смотрите eq для получения дополнительной информации.

Создайте матричный A. Присвойте значения в A к новой переменной, B. Наконец, присвойте новое значение первому элементу в B.

A = [1 0; -1 0];
B = A;
B(1) = 200;

Строка и символьное форматирование

Некоторые специальные символы могут только использоваться в тексте вектора символов или строки. Можно использовать эти специальные символы, чтобы вставить новые строки или возвраты каретки, задать пути к папкам и т.д.

Используйте специальные символы в этой таблице, чтобы задать путь к папке с помощью вектора символов или строки.

СимволИмя символаРольОписаниеПримеры

/

\

Наклонная черта и наклонная черта влево

Путь к файлу или разделение пути к папке

В дополнение к их использованию в качестве математических операторов наклонная черта и символы наклонной черты влево разделяют элементы пути или папки. В основанных на Microsoft® Windows® системах обе наклонных черты и наклонная черта влево имеют тот же эффект. В основанных на Open Group UNIX® системах необходимо использовать наклонную черту только.

В системе Windows можно использовать или наклонную черту влево или наклонную черту:

dir([matlabroot '\toolbox\matlab\elmat\shiftdim.m'])
dir([matlabroot '/toolbox/matlab/elmat/shiftdim.m'])

В системе UNIX используйте только наклонную черту вправо:

dir([matlabroot '/toolbox/matlab/elmat/shiftdim.m'])

..

Точечная точка

ParentFolder

Две точки по очереди относятся к родительскому элементу текущей папки. Используйте этот символ, чтобы задать пути к папкам относительно текущей папки.

Чтобы повыситься два уровня в дереве папки и вниз в папку test, используйте:

cd ..\..\test
*

Звездочка

Подстановочный символ

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

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

dir('january_*.mat') определяет местоположение всех файлов с именами, которые запускаются с january_ и имеют расширение файла .mat.

@

В символе

Индикатор папки класса

Знак @ указывает на имя папки класса.

Обратитесь к папке класса:

\@myClass\get.m
+

Плюс

Индикатор директории пакета

Знак + указывает на имя папки пакета.

Папки пакета всегда начинаются с символа +:

+mypack
+mypack/pkfcn.m  % a package function
+mypack/@myClass % class folder in a package

Существуют определенные специальные символы, которые вы не можете ввести как обычный текст. Вместо этого необходимо использовать уникальные последовательности символов, чтобы представлять их. Используйте символы в этой таблице к строкам формата и векторам символов самостоятельно или в сочетании с функциями форматирования как compose, sprintf и error. Для получения дополнительной информации см. текст Форматирования.

СимволЭффект на текст
''

Одна кавычка

%%

Один знак процента

\\

Одна наклонная черта влево

\a

Предупреждение

\b

Клавиша Backspace

\f

Перевод формата

\n

Новая строка

\r

Возврат каретки

\t

Горизонтальная вкладка

\v

Вертикальная вкладка

\xN

Шестнадцатеричный номер, N

\N

Восьмеричное число, N

Похожие темы