Построение циклических структур основано на следующих конструкциях:
1. В таблице 1.2 представлены операции отношения.
Табл. 1.2. Операции отношения.
Обозначение | Операция отношения |
== | Равенство |
< | Меньше |
<= | Меньше или равно |
>= | Больше или равно |
> | Больше |
~= | Не равно |
Задание более сложных условий производится с применением логических операторов (табл. 13).
Табл. 1.3. Логические операторы
Оператор | Условие | Эквивалентная запись |
Логическое «и» | x<=5 и x>-5 | (x<=3)&&(x>-4) |
Логическое «или» | x=1 или x=2 | (x==1) | (x==2) |
Отрицание «не» | a≠5 | ~(a==5) |
2. Оператор проверки условия, позволяющий организовать разветвление исполнения программы на два направления в зависимости от истинности условия. Синтаксис:
if <выражение 1>
<операторы 1> % выполняются, если истинно <выражение 1>;
elseif <выражение 2>
<операторы 2> % выполняются, если ложно <выражение 1> и истинно <выражение 2>;
……………………..
elseif <выражение N>
<операторы N> % выполняются, если ложны <выражение 1> и <выражение 2> и……..и <выражение N-1> и истинно <выражение N>;
|
|
else
<операторы N+1> % выполняются, если ложны <выражение 1> и <выражение 2> и……..и <выражение N>;
end;
В зависимости от выполнения того или иного условия работает соответствующая ветвь программы, если все условия неверны, то выполняются команды, размещенные после else.
y=10;
x = randi([0 20]);
if x > y
disp(1); % выполняется, если x > y
elseif x < y
disp(-1); % выполняется, если x < y
else
disp(0); % выполняется, если x = y
end;
3. Оператор switch... case 1... case k... otherwise... end выполняет ветвления, в зависимости от значений некоторой переменной или выражения.
Синтаксис:
switch <выражение> % выражение - скаляр или строка
case <значение 1>
<операторы 1> % выполняются,
если < выражение> == <значение 1>
case <значение2>
<операторы 2> % выполняются,
если <выражение> == <значение 2>
………………..
otherwise
<операторы N> % выполняются,
если <выражение> не совпало ни с одним из значений
end;
x = randi([1 5]);
switch x
case 1
disp('один')
case 2
disp('два')
case 3
disp('три')
otherwise
disp('другое значение')
end;
4. Цикл с заданным количеством повторений. Синтаксис:
for count=start:step:final
<тело цикла>
end;
где
- count – переменная цикла;
- start – начальное значение переменной цикла;
- final – конечное значение переменной цикла;
- step – шаг, на который увеличивается count при каждом следующем заходе в цикл (step не является обязательным, по умолчанию ster=1), цикл заканчивается, как только значение count становится больше final$
- <тело цикла> операторы MatLab. Тело цикла обязательно заканчивается служебным словом end.
|
|
j=1;
for i=1:0.1:10
x(j)=2*i^2;
end;
5. Цикл с неизвестным количеством повторений. Синтаксис:
while <условие>
<тело цикла> % выполняется пока истинно условие цикла;
end;
Тело цикла обязательно заканчивается служебным словом end.
a=100;
y=1;
while y<=a
y=y+1;
end;
6. Оператора прерывания цикла break. При выполнении оператора break работа цикла завершается и управление передается на следующий после конца цикла оператор.
for i=1:100
a(i)=i^2;
if a(i) == 225
break
end;
b(i)=a(i)*2;
end;
Общая постановка задачи
В соответствии с Вашим вариантом необходимо выполнить:
1. Вычислить значение выражения.
2. Построить график функции y=f(x).
3. Сгенерировать матрицы чисел и реализовать операции над ними.
4. Написать файл-программу.