- •Matlab в режиме прямых вычислений
- •Понятие о математическом выражении
- •Действительные и комплексные числа
- •Константы и системные переменные
- •Переменные и присваивание им значений
- •Задание векторов и матриц
- •Операторы
- •Функции
- •Форматы вывода результата вычислений
- •Основные операции над матрицами
- •Обращение к элементам матрицы
- •Суммирование элементов, транспонирование и диагонализация матрицы
- •Объединение малых матриц в большую
- •Удаление столбцов и строк матриц
- •Матричные и поэлементные вычисления
- •Графическая визуализация вычислений
- •Построение диаграмм и гистограмм
- •Построение графиков функций
- •Управление осями
- •Окна изображений
- •Подграфики
- •Основы трехмерной графики
- •Генерация сетки
- •Трехмерный график с аксонометрией
- •Сетчатый 3d-график с функциональной окраской
- •Сетчатый 3d-график с функциональной окраской и проекцией
- •Поверхностный 3d-график с функциональной окраской
- •Поверхностный 3d-график с функциональной окраской и освещением
- •Программирование в среде matlab
- •Управление потоками
- •Работа c м-файлами
- •Типы м-файлов. Файл-программы и файл-функции
- •Задания к лабораторной работе № 1
Программирование в среде matlab
Управление потоками
MATLAB имеет пять видов структур управления потоками:
оператор if
оператор switch
циклы for
циклы while
оператор break
В том случае, когда некоторая группа операций должна повторно выполняться несколько раз, используют операторы цикла.
а) оператор цикла с неизвестным числом повторений (while)
while выражение
<оператор>
. . .
<оператор>
end
Операторы, указанные в теле цикла, выполняются, пока выражение истинно.
Пример:
fact=1;
k=1;
while fact<1e5
fact=fact*k;
k=k+1;
end
б) оператор цикла с известным числом повторений (for)
for переменная цикла = начальное значение : <приращение> : конечное значение
<оператор>
. . .
<оператор>
end
Операторы, указанные в теле цикла, выполняются заданное число раз. При этом переменная цикла последовательно принимает все значения от начального до конечного с приращением после каждого прохода цикла.
for i=1:1:100
s=s+5
end
Замечание: Хорошим стилем являются отступы при использовании циклов для лучшей читаемости, особенно, когда они вложенные.
for i = 1:m
for j = 1:n
H(i,j) = 1/(i+j);
end ;
end
в) оператор условного ветвления
if <логическое выражение> <операторы> end
|
if <логическое выражение> <операторы> elseif <логическое выражение> <операторы> else <операторы> end
|
if <логическое выражение> <операторы> else <операторы> end
|
Оператор else не содержит логического условия. Инструкции, связанные с ним, выполняются, если предшествующий оператор if ложен.
Оператор elseif содержит логическое условие, которое вычисляется, если предшествующий оператор if ложен. Оператор elseif может многократно использоваться внутри оператора условия if.
Пример:
if n<0
a=2*n;
elseif rem(n,2)==0;
a=n/2;
else
a=(n+1)/2; Если n>0 b нечетное, увеличить на 1 и разделить.
end
г) оператор переключения
switch…case…otherwise…end
Оператор switch работает, сравнивая значение вычисленного выражения со значениями групп case. Если значение выражения в операторе switch совпадает со значением, указанным в case, то выполняются соответствующая группа операций до следующего оператора case или otherwise, или end. Оператор otherwise выполняется, если <выражение> не совпало ни с одним из значений.
Пример:
switch input_num % выч. выражение
case –1 % значение
disp ('минус один') % выводит строку text в рабочее окно MATLAB
case 0
disp ('нуль')
case 1
disp ('плюс один')
otherwise
disp ('другое значение')
end
д) оператор досрочного выхода из цикла
break
Оператор break позволяет досрочно выходить из циклов for или while. Во вложенных циклах break осуществляет выход только из самого внутреннего цикла.
for i=1:1:100
s=s+5
if s>300 then
break;
end;
end
Работа c м-файлами
Если требуется выполнять большую последовательность команд или повторять группу команд для различных значений входных переменных, работа в режиме командной строки становится неудобной. Для облегчения работы MATLAB предоставляет возможность организации вычислений в виде так называемых М-файлов. М-файлы являются обычными текстовыми файлами, которые содержат последовательности команд, операторов, функций и т.д., необходимых для вычислений. В состав системы MATLAB входит редактор/отладчик M-файлов. Наиболее удобно использовать инструментальную панель командного окна этого редактора/отладчика.
Для создания м-файла в меню File основного окна MatLab и в пункте New выберите подпункт M-file. Новый файл открывается в редакторе М-файлов. Наберите в редакторе команды, приводящие к построению двух графиков в одном графическом окне.
x = [0:0.1:7];
f = exp(-x);
subplot(1, 2, 1)
plot(x, f)
g = sin(x);
subplot(1, 2, 2)
plot(x, g)
Сохраните теперь файл с именем mydemo.m в подкаталоге work основного каталога MatLab, выбрав пункт Save as меню File редактора. Для запуска на выполнение всех команд, содержащихся в файле, следует выбрать пункт Run в меню Debug. На экране появится соответствующее графическое окно. Созданный М-файл можно как угодно редактировать и повторять все команды заново. При этом графическое окно будет отражать все изменения, которые вы сделали в файле. Для выполнения только части команд из файла, следует их сначала выделить, а затем выполнить из пункта Evaluate selection меню Text.
В редакторе М-файлов может быть открыто одновременно несколько файлов; переход от одного к другому осуществляется при помощи закладок с их именами внизу окна редактора. Открытие существующего М-файла производится из пункта Open меню File рабочей среды, либо редактора М-файлов.
