Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб.раб№1 моделирование.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆
    1. Программирование в среде matlab

      1. Управление потоками

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

      1. Работа 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 рабочей среды, либо редактора М-файлов.