- •Рабочая среда matlab
- •Арифметические вычисления
- •Простейшие вычисления
- •Вектор-столбцы и вектор-строки
- •Обращение к элементам вектора
- •Применение функций обработки данных к векторам
- •Поэлементные операции с векторами
- •Двумерные массивы, матрицы Ввод матриц, простейшие операции
- •Обращение к элементам матриц
- •Сложение, вычитание, умножение, транспонирование и возведение в степень
- •Перемножение матриц и векторов
- •Решение систем линейных уравнений
- •Создание матриц специального вида
- •Поэлементные операции
- •Поэлементные операции с матрицами
- •Применение функций обработки данных к матрицам
- •Задания на векторы
- •Задания на матрицы
- •Работа в редакторе m-файлов
- •Файл-функции
- •Файл-функции с одним входным аргументом
- •Файл-функции с несколькими входными аргументами
- •Файл-функции с несколькими выходными аргументами
- •Задания для самостоятельной работы
- •Управляющие конструкции языка программирования
- •Операторы цикла
- •Цикл for
- •Цикл while
- •Операторы ветвления
- •Условный оператор if
- •Задания для самостоятельной работы
- •Литература
- •Основы работы в среде
- •230201 – «Информационные системы и технологии»
- •394000, Воронеж, пр. Революции, 19
Задания для самостоятельной работы
1. Напишите и выполните файл-программу построения графиков следующих функций. Для вычислений значений функций создайте файл-функцию.
;
;
.
2. Напишите файл-функцию для решения следующих задач:
по заданному вектору определить номер его элемента с наибольшим отклонением от среднего арифметического всех элементов вектора;
вычислить сумму всех элементов вектора с нечетными индексами;
переставить первый столбец квадратной матрицы с ее диагональю;
найти максимальное значение среди диагональных элементов заданной матрицы;
просуммировать все недиагональные элементы заданной матрицы.
Управляющие конструкции языка программирования
Для решения более серьезных задач, чем те, которые были рассмотрены выше, требуются программы, в которых действия повторяются циклически, а в зависимости от некоторых условий выполняются различные части программы.
Операторы цикла
Схожие и повторяющиеся действия выполняются при помощи операторов цикла for и while. Цикл for предназначен для выполнения заданного числа повторяющихся действий, а while – для действий, число которых заранее не известно, но известно условие продолжения цикла.
Цикл for
Использование for осуществляется следующим образом:
for count = start : step : final
команды MATLAB
end
Здесь count – переменная цикла, start – ее начальное значение, final – конечное значение, step – шаг, на который увеличивается count при каждом следующем заходе в цикл. Цикл заканчивается, как только значение count становится больше final. Переменная цикла может принимать не только целые, но и вещественные значения любого знака.
Цикл while
Цикл while служит для организации повторений однотипных действий в случае, когда число повторений заранее неизвестно и определяется выполнением некоторого условия.
Цикл while работает, пока выполняется условие цикла:
while условие повторения цикла
команды MATLAB
end
Условие цикла while может содержать логическое выражение, составленное из операций отношения и логических операций или операторов. Для задания условия повторения цикла допустимы операции отношения, приведенные в таблице 1.
Таблица 1. Операции отношения
Обозначение |
Операция отношения |
== |
Равенство |
< |
Меньше |
<= |
Меньше или рано |
>= |
Больше или рано |
~= |
Не равно |
Операторы ветвления
Условный оператор if и оператор переключения switch позволяют создать гибкий разветвляющийся алгоритм, в котором при выполнении определенных условий выполняется соответствующий юлок операторов или команд MATLAB.
Условный оператор if
Оператор if может применяться в простом виде, для выполнения блока команд при удовлетворении некоторого условия, или в конструкции if-elseif-else для написания разветвляющихся алгоритмов.
if условие
команды MATLAB
end
Если условие верно, то выполняются команды MATLAB, размещенные между if и end, а если условие неверно, то происходит переход к командам, расположенным после end. Условие является логическим выражением и записывается по правилам, описанным выше.
Оператор switch
switch переменная оператора
case значение 1
команды MATLAB
case значение 2
команды MATLAB
…
case значение N
команды MATLAB
otherwise
команды MATLAB
end
Каждая ветвь определяется оператором case, переход в нее выполняется тогда, когда переменная оператора switch принимает, указанное после case, или одно из значений списка case. После выполнения какой-либо из ветвей происходит выход из switch, при этом значения, заданные в других ветвях case, уже не проверяются. Если подходящих значений для переменной оператора switch не нашлось, то выполняется ветвь оператора переключения, соответствующая otherwise.
Оператор switch удобно применять тогда, когда есть соответствие между дискретными значениями некоторой переменной и последующими действиями. Для определения ветви программы в зависимости от выполнения более сложных условий приходится использовать оператор if.