Элементы М-языка MATLAB. Программы MATLAB, страница 2

Соединительные знаки:

-  для численных выражений:

+ (plus, uplus) – сложение обычное или унарное,

-  (minus, uminus) - вычитание,

*   (mtimes) - умножение матриц,

.*  (times) - поэлементное умножение матриц,

/   (mrdivide) - «правое» деление матриц  a/b=ab-1,

\   (mldivide) - «левое» деление матриц (для чисел a\b=a-1b, для матриц u=A\f – решение системы линейных уравнений Au=f, где A- матрица, f – вектор),

./  (rdivide) - «правое» деление для массивов,

.\  (ldivide) - «левое» деление для массивов,

^  (mpower) - возведение матрицы в степень,

.^ (power) - возведение в степень для массива,

kron – тензорное произведение векторов.

-  для символьных выражений: соединение элементов только с помощью специальных функций.

-  для логических выражений:

== (eq) – равенство,

~= (ne) – неравенство,

<   (lt)  - меньше,

>   (gt) – больше,

<= (le) – не больше,

>= (ge) – не меньше,

&  (and) – «и»

|    (or)   - «или»

~  (not)  - «не»

xor  - Логическое ИСКЛЮЧИТЕЛЬНОЕ ИЛИ

any  - Истинно, если хотя бы 1 элемент вектора не равен нулю

all   - Истинно, если все элементы вектора не равны нулю

Специальные знаки, используемые в выражениях:

:  - сечение массива,

( ) – выделение подвыражения,

[ ] – формирование массива,

{ } – многомерный массив,

.   – десятичная точка или выделение поля структуры,

..  – указатель на каталог-родитель,

… - продолжение оператора на следующей строке,

,  - разделитель,

;  - подавление эхо-вывода при выполнении оператора,

% - комментарий,

!  - выполнение команды операционной системы,

= - присваивание,

‘  - кавычка,

.’ (transpose) – транспонирование элементов массива,

‘  (ctrsnspose) - транспонирование элементов матрицы,

[. ] (horzcat) – объединение элементов в строку,

[;  ] (vertcat) - объединение элементов в столбец,

( ),  {  },.  (subsasgn) – присваивание подмассива,

( ),  {  },.  (subsref) – ссылка на подмассив,

subsindex  - индекс подмассива.

В скобках указаны названия функций, с помощью которых можно альтернативно реализовать соответствующие операции.

Примеры выражений:

-  Nexpression

0.5*A*B*exp(C)

Если A=[2,2], B=[2,1;1,3], C=[0;0], то  значение выражения окажется равным числу 5.

-  Lexpression

(A>=B)&(C==B)|(C~=A)

1.5. ОПЕРАТОРЫ В MATLAB

Операторы языка – это специальные конструкции, с помощью которых осуществляется управление ресурсами компьютера в ходе решения задач. Оператор в М-языке может представлять собой выражение, присваивание или команду.

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

help – обращение к помощи.

clear [<список переменных>]   - устраняет из рабочей памяти указанные переменные.

Полезные команды общего назначения:

who (whos) – отображает список переменных в рабочей памяти кратко (полно).

which [<имя функции>] [<имя файла>] – локализует (с путем) положение функции или файла.

echo on (off) – включение (отключение) эхо-вывода на экран,

diary [<имя файла вывода>] [on][off] – протоколирует в файле diary или в указанном файле содержимое командного окна с возможностью включения/отключения вывода.

clc – очищает командное подокно.

lookfor <контекст поиска> - ищет функцию, в первой строке комментария которой имеется заданный контекст. Например,  

lookfor ‘clear’

Операторы MATLAB могут выполняться как в командном окне, так и в составе М-программ.

1.6. УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ

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

      Условные конструкции:

if  <выражение>

    <операторы>

[ elseif <выражение>

    <операторы>]

[  else

    <операторы>]

end

switch <выражение со значением скаляр или строка>

  case <значение1>

    <операторы>

  case <значение2>

    <операторы>

. . . . . . . . .

  [otherwise

    <операторы>]

end

Циклические конструкции:

for <переменная цикла>=<нач.значение>[:<изменение>]:<конечное значение>

    <операторы>

   [continue

    <операторы>]

   [break

    <операторы>]

end 

while <условное выражение>

    <операторы>

   [continue

    <операторы>]

   [break

    <операторы>]

end 

Управляющие конструкции могут вводиться в командном окне. В этом случае выполнение оператора начнется только после ввода ключевого слова end , завершающего конструкцию.

2. ПРОГРАММЫ MATLAB

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