Программирование в среде 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

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

 

1.6.3 Типы М-файлов. Файл-программы и файл-функции

М-файлы бывают двух типов: файл-программы (Script M-files), содержащие последовательность команд, и файл-функции (Function M-files), в которых описываются функции, определяемые пользователем для своих целей. Файл mydemo, который Вы уже создали, это файл-программа. Все переменные, объявленные в ней, становятся доступными в рабочей среде после ее выполнения. Фактически, созданный М-файл является новой командой, которую понимает МatLab. Теперь в командной строке достаточно набрать команду mydemo и появится графическое окно, соответствующее командам программы mydemo.m.

Как правило, М-файлы хранятся в каталоге пользователя. Чтобы МatLab мог найти их, следует установить пути, указывающее расположение М-файла.

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

Предположим, что в вычислениях часто необходимо использовать функцию

 

 

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

 

Откройте в редакторе М-файлов новый файл и наберите текст

 

function f = myfun(x)

f = exp(-x)*sqrt((x^2+1)/(x^4+0.1));

 

Слово function в первой строке означает, что данный файл содержит файл-функцию. Первая строка является заголовком файл-функции, где размещается имя функции myfun, один входной аргумент x и один выходной – f. После заголовка следует тело функции (здесь это одна строка), где и вычисляется ее значение. Теперь сохраните файл в рабочем каталоге (укажите полностью Ваш путь). При сохранении появляется диалоговое окно с уже готовым именем myfun. Не изменяйте его.

Теперь созданную функцию можно использовать так же, как и встроенные функции, из командной строки:

>> y=myfun(1.3)

y =

0.2600

 

Задания к лабораторной работе № 1

Задание 1

Таблица 1.2

1.Создать матрицу A

Вариант1

Вариант2

Вариант3 Вариант4 Вариант5 Вариант6 Вариант7 Вариант8
-1 2 3 5  7 8 9 1  4 5 6 4 11 1 5 9

 8 4 6 9

 2 7 4 10

 3 8 2 6

-5 3 7 3

8 9 13 2 -6 6 4 5 8 4 6 4 13 1 8 9 8 6 7 5 7 3 7 15 4 8 9 2 8 9 8 5 1 -2 3 5 -7 8 9 1 11 3 2 4 1 1 4 -9 1 5 3 2  6 7 3 6  3 4 6 7 1 5 8 2 -1 2 3 5  3 8 9 1  5 3 6 4  7 7 5 1 1 5 6 4 2 8 9 1 4 8 6 4 4 5 5 -1
Вариант9

Вариант10

Вариант11 Вариант12 Вариант13 Вариант14 Вариант15 Вариант16
-1 4 8 5  7 7 9 2  4 8 6 1 1 1 4 0

 -4 4 6 9

 2 5 4 10

 3 8 -6 6

8 3 7 2

5 4 3 2 -4 6 -4 5 8 5 6 2 3 1 8 91 8 6 7 51 0 7 -3 15 6 8 11 2 8 9 14 5 1 2 -3 15 5 8 -9 1 1 5 2 6 1 11 -5 -7 1 4 13 2  6 7 -4 6  3 -2 6 9 1 15 4 2 -5 2 -5 5  3 2 3 1  1 3 3 4  0 -2 0 1 1 0 6 4 2 5 9 -11 5 9 0 4 6 5 5 -1
Вариант17

Вариант18

Вариант19 Вариант20 Вариант21 Вариант22 Вариант23 Вариант24
0 9 13 2 -6 0 4 3 1 4 2 4 1 1 0 1

1 -3 3 5

-7 8 -6 1

11 0 0 4

0 1 4 -9

-3 21 5 -2  -3 1 3 1  -1 3 2 4  1 0 1 0 -4 5 1 9  2 5 0 10  1 8 -4 6 1 3 1 3 -1 3 6 9  2 5 3 10  5 12 2 6 1 1 1 1 7 5 2 4  2 7 9 17  -4 1 -5 7 1 4 2 1    

2. Вычислить сумму элементов матрицы А по строкам, по столбцам, а также сумму всех элементов матрицы A.

3. Транспонировать матрицу A.

4.Умножить матрицу А на 2.

5. Найти квадратный корень из элементов матрицы А.

6 .Возвести в квадрат все элементы матрицы A.

7.Создать массив X, содержащий 2 строки:

Вариант 1

1 строка - числа от 1 до 100, в порядке возрастания

2 строка - числа от 1 до 100, в порядке убывания

2

1 строка - нечетные числа от 1 до 100, в порядке возрастания

2 строка – четные числа от 1 до 100, в порядке возрастания

3

1 строка - нечетные числа от 1 до 100, в порядке возрастания

2 строка - нечетные числа от 1 до 100, в порядке убывания

4

1 строка - числа от 1 до 100, кратные 3-м, в порядке возрастания

2 строка - числа от 1 до 100, кратные 3-м, в порядке убывания

5

1 строка - числа от 1 до 100, кратные 4-м, в порядке возрастания

2 строка - числа от 1 до 100, кратные 4-м, в порядке убывания

6

1 строка - числа от 1 до 100, кратные 5-и, в порядке возрастания

2 строка - числа от 1 до 100, кратные 5-и, в порядке убывания

7

1 строка - числа от 1 до 100, кратные 6-и, в порядке возрастания

2 строка - числа от 1 до 100, кратные 6-и, в порядке убывания

8

1 строка - числа от 1 до 100, кратные 7-и, в порядке возрастания

2 строка - числа от 1 до 100, кратные 7-и, в порядке убывания

9

1 строка - нечетные числа от 1 до 100, в порядке убывания

2 строка – четные числа от 1 до 100, в порядке возрастания

10

1 строка - четные числа от 1 до 100, в порядке убывания

2 строка – нечетные числа от 1 до 100, в порядке убывания

11

1 строка - числа от 1 до 100, кратные 3-м, в порядке убывания

2 строка - числа от 1 до 100, кратные 3-м, в порядке возрастания

12

1 строка - числа от 1 до 100, в порядке убывания

2 строка - числа от 1 до 100, в порядке возрастания

13

1 строка - числа от 1 до 100, кратные 6-и, в порядке убывания

2 строка - числа от 1 до 100, кратные 6-и, в порядке возрастания

14

1 строка - числа от 1 до 100, кратные 7-и, в порядке убывания

2 строка - числа от 1 до 100, кратные 7-и, в порядке убывания

15

1 строка - числа от 1 до 100, кратные 7-и, в порядке убывания

2 строка - числа от 1 до 100, кратные 7-и, в порядке возрастания

16

1 строка - числа от 1 до 100, кратные 7-и, в порядке возрастания

2 строка - числа от 1 до 100, кратные 7-и, в порядке возрастания

17

1 строка - числа от 1 до 100, кратные 4-м, в порядке возрастания

2 строка - числа от 1 до 100, кратные 4-м, в порядке возрастания

18

1 строка - числа от 1 до 100, кратные 4-м, в порядке убывания

2 строка - числа от 1 до 100, кратные 4-м, в порядке убывания

19

1 строка - числа от 1 до 100, кратные 4-м, в порядке убывания

2 строка - числа от 1 до 100, кратные 4-м, в порядке возрастания

20

1 строка - четные числа от 1 до 100, в порядке убывания

2 строка – четные числа от 1 до 100, в порядке убывания

21

1 строка - числа от 1 до 100, кратные 3-м, в порядке возрастания

2 строка - числа от 1 до 100, кратные 3-м, в порядке возрастания

22

1 строка - числа от 1 до 100, в порядке убывания

2 строка - числа от 1 до 100, в порядке убывания

Дата: 2018-12-21, просмотров: 856.