Лабы / laboratornaya06
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»
Кафедра радиосистем и обработки сигналов
Дисциплина «Прикладные пакеты моделирования»
Лабораторная работа №6
Режим программирования: Организация разветвлений и циклов
Выполнил:
Проверил:
Санкт-Петербург
2022 г.
Организация разветвлений с одним условием.
function y1=y1(a,b) x=[-4:0,1:4];
if and(a~=0,b~=0)
y1=a*sin(b*x);
plot(x,y1),grid,title('y1=a*sin(b*x)'); else
y1=(a+2)*x+b;
plot(x,y1),grid,title('y1=(a+2)*x+b'); end
Command Window:
>> s=y1(4,1)
3.3659 3.6372
0.5645 -3.0272
>> c=y1(0,0)
c = -8 -6 -4 -2 0 2 4 6
Пояснение:
какой оператор использован для организации разветвления Разветвление по условию выполняется с помощью оператора if
что проверяется при организации разветвления
При организации разветвления проверяется условие
какие параметры function-файла y1 являются входными и выходными у1 - выходной параметр, а и b - входные
Организация разветвлений с несколькими условиями.
function y2=y2(a,b)
x=[-4:0,1:4];
if and(a~=0,b~=0)
y2=a*sin(b*x);
plot(x,y2),grid,title('y2=a*sin(b*x)');
elseif and(a>-2,b>0)
y2=(a+2)*x+b;
plot(x,y2), grid, title('y2=(a+2)*x+b');
else
y2=(2-a)*x.A2+b;
plot(x,y2),grid,title('y2=(2-a)*xA2+b'); end
Command Window:
>>z=y2(-3,0) |
z = |
80 45 20 5 0 5 20 45 80 |
>> c=y2(1,4) |
c = |
0.2879 0.5366 -0.9894 0.7568 0 -0.7568 0.9894 |
0.5366 -0.2879 |
Пояснение:
• какой оператор использован для организации разветвления Оператора if elseif else использован для организации разветвления
Организация цикла с заранее известным числом повторений.
function F=Fibonacci (i)
F1=0;
F2 = 1;
disp(strcat(num2str(F1,F2)))
for i=3:10
F=F1+F2;
F1=F2;F2=F;
disp(strcat(num2str(F)))
end
Command Window:
>> F=Fibonacci
0
1
2
3
5
8
13
21
34
F =
34
Пояснение:
какой оператор использован для организации цикла оператор for использован для организации цикла
какие параметры function-файла Fibonacci являются входными и выходными F-выходной параметр, i-входной
Организация цикла с заранее неизвестным числом повторений.
function [s,s1,s2] = GeomProg(q)
n=0;s0=0;
q=input('q=') e=input('e=') while e>1e-4
s=s0+(q).An;
e=abs(s-s0);
s0=s;
n=n+1;
end
s1=1/(1-q)
s2=abs( (s)-abs(s1)) disp(strcat(['s= ', num2str(s),'s1= ', num2str(s1),'s2= ', num2str(s2)]))
Command Window:
>> GeomProg q=0.3 q =
0.3000 e=100 e =
100 s1 = 1.4286 s2 = 2.8119e-005 s= 1.4285s1= 1.4286s2= 2.8119e-005
ans = 1.4285
Пояснение:
• какой оператор использован для организации цикла
оператор while использован для организации цикла
какие параметры function-файла GeomProgression являются входными и выходными
8,81,82-выходные параметры, q-входной
Организация разветвлений в зависимости от значения выражения.
script
clc
clear
disp('0-Fibonacci')
disp('1-GeomProg')
disp('2-y1')
disp('3-y2')
variant=input('variant= ');
switch (variant)
case 0
disp('Исполняется файл Fibonacci')
y=Fibonacci;
case 1
disp('Исполняется файл GeomProg')
y=GeomProg;
case 2
disp('Исполняется файл y1')
y=y1;
case 3
disp('Исполняется файл y2')
y=y2;
otherwise
disp('Неверный ввод')
end
Command Window:
0-Fibonacci
GeomProg
• какой оператор использован для организации цикла 4
какой оператор использован для организации разветвления 5
что проверяется при организации разветвления 5
Неверный ввод
Пояснение:
какой оператор использован для организации разветвления
оператор switch использован для организации разветвления
что проверяется при организации разветвления
при организации разветвления проверяется значение выражения
к какому типу данных может принадлежать переменная variant переменная variant может принадлежать к типу данных int