Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по КПРЗПФ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.46 Mб
Скачать

Символы и знаки matlab

В языке MATLAB используются следующие специальные знаки и символы:

+ – плюс;

- – минус;

* – умножение матриц (число столбцов М1 должно равняться числу строк М2)

.* – поэлементное умножение массивов (размерности М1 и M2 должны быть одинаковыми;

: – двоеточие (for, обращение к части массива, векторизация и т.д.);

^ – возведение матрицы в степень;

.^ – возведение в степень массива чисел;

/ – слэш или правое деление;

\ – обратный слэш или левое деление;

./ – поэлементное деление массива чисел;

kron – символ Кронекера;

() – круглые скобки (последовательность выполнения операций);

[] – квадратные скобки (формирование массива);

{} – формирование многомерного массива;

. – десятичная запятая;

.. – директория предыдущего уровня;

... – продолжение строки;

, – запятая (разделитель операторов);

; – точка с запятой (разделитель операторов);

% – комментарий;

! – восклицательный знак (признак команды операционной системы);

' – текстовая константа, транспонирование матрицы;

= – оператор присваивания;

>, <, >=, <=, ==, ~= – знаки отношений;

& – логическое И;

| – логическое ИЛИ;

~ – логическое НЕ;

xor – логическое ИСКЛЮЧАЮЩЕЕ ИЛИ.

Основные операторы и команды matlab

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

Операторы цикла.

В MATLAB существует два оператора цикла.

Первый тип:

for X = Xнач:dX:Xкон

<тело цикла>

end;

Цикл выполняется от X = Xнач до X = Xкон с шагом dX. Это происходит следующим образом: в соответствии со значениями Xнач, Xкон, dX вычисляется число проходов цикла N, которые затем и выполняются. Поэтому изменение Xнач, Xкон, dX внутри цикла не влияет на число проходов цикла.

В цикле for ... end переменная цикла может быть не только скаляром, но и вектором. Пусть имеется матрица А размерностью m на n. В этом случае цикл может иметь вид:

for i = A, ... end;

Этот цикл будет выполняться n раз (количество столбцов матрицы А), причем на каждом шаге i – вектор, содержащий один столбец матрицы А. Таким образом, на шаге k i = A(:,k).

Первый тип:

while <условие>

<тело цикла>

end;

Цикл выполняется до тех пор, пока выполняется условие. Если при старте цикла условие не выполняется (для обоих типов цикла), то тело цикла пропускается.

Досрочный выход из циклов FOR и WHILE осуществляет оператор BREAK. Если несколько циклов вложены, то выход происходит из самого внутреннего цикла.

Условный оператор.

Условный оператор имеет вид (допускается использование составных операторов):

if <условие> if <условие 1>,

<группа операторов 1>; <группа операторов 1>;

else elseif <условие 2>

<группа операторов 2>; <группа операторов 2>;

end; else

<группа операторов 3>;

end;

В <условии> обычно используются элементы сравнения == | < | > | <= | >= | ~= Следует обратить внимание, что оператор присваивания имеет вид < = >, а равенство – < = = >. Так, A = B; но if A = = B,

Допускается сокращенная форма условного оператора. Оператор if X, эквивалентен if X ~= 0.

Переключатель.

Общая форма:

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

case <выражение1 case>,

инструкция,...,инструкция

case <выражение2 case>,

инструкция,...,инструкция

.......

otherwise,

инструкция,...,инструкция

end

Выполняются инструкции первого case, для которого

<выражение case> = = <выражение switch>

Если ни одно из выражений case не соответствует выражению switch, выполняются инструкции otherwise (если они существуют). При этом <выражение switch> может быть скалярной переменной или строчной.

Инструкция try.

Общий вид инструкции TRY:

TRY, инструкция,...,инструкция, CATCH, инструкция,...,инструкция, END

Обычно выполняются только инструкции между TRY и CATCH. Однако если произошла ошибка при их выполнении, то выполняются инструкции между CATCH и END, а сама ошибка заносится в LASTERR.

Двоеточие (:).

Двоеточие (:) – это один из самых важных операторов MATLAB. Он выполняет различные функции:

1) Разделитель в операторе цикла (см. ОПЕРАТОР ЦИКЛА).

2) Получение вектора-строки действительных чисел.

Рассмотрим это на примерах:

Выражение Результат

D=1:5 D = [1 2 3 4 5]

D=10:-1:4 D = [10 9 8 7 6 5 4]

D=0:2*pi:20 D = [0 6.28 12.56 18.84]

3) Обращение к части матрицы.

B = A(1:k,j) – формируется матрица В, состоящая из первых k элементов j-го столбца матрицы А.

В = sum(A(1:4,5)) – сумма первых четырех элементов пятого столбца матрицы А.

4) Векторизация. Это способ повышения быстродействия и упрощения программы.

Так как MATLAB оптимизирован для работы с матрицами, то для повышения быстродействия везде, где это возможно, необходимо векторизовать выражения. Особенно эффективна векторизация при написании циклов. Рассмотрим, например программу создания таблицы логарифмов:

Обычный цикл. Векторизованный цикл.

x = 0; x = 0:0.1:10;

for k = 1:100, y = log(x);

y(k) = log(x);

x = x+0.1;

end;