Скачиваний:
47
Добавлен:
05.01.2021
Размер:
367.1 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра «Корабельных систем управления»

отчет

по лабораторной работе №2

по дисциплине «Программирование и основы алгоритмизации»

Тема: ОПЕРАТОРЫ УСЛОВИЯ И ЦИКЛА.

Студент гр. 9494

Лобазев Н.А.

Преподаватель

Модин Н.В.

Санкт-Петербург

2020

1. Задание на лабораторную работу.

Цель работы: освоить основные конструкции языка MATLAB для реализации ветвящихся и циклических алгоритмов.

Условие:

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

2) Написать и отладить программу-сценарий вычисления функции в точке (не пользуясь стандартными математическими функциями).

3) Построить график функции при заданном значении T в диапазоне от -2T до 2T.

4) В соответствии с заданием из таблиц 6 и 7 составить блок-схемы алгоритмов.

5) Написать и отладить программы вычисления суммы ряда (табл. 6) и поиска элементов матрицы (табл. 7)

Исходные данные:

Фрагмент таблицы 5:

Фрагмент таблицы 6:

Фрагмент таблицы 7:

2. Блок-схемы алгоритмов решения задачи.

Алгоритм функции двух переменных LAB2_F1(t,T).

Алгоритм функции вычисления суммы ряда LAB2_F2(х)

Алгоритм функции вычисления заданного условия по матрице LAB2_F3(М)

3. Тексты программ

Основная программа:

%lab2

clc, clear,close;

T=2;

t=single(-2*T:0.20*T:2*T);

R=lab2_f1(t , T);

figure(1), hold on;

plot(t, R, '*'),plot(t, R);

title('f(t,T) для T=2');

xlabel('t'), ylabel('f(t,T)');

grid on

%сумма ряда

x=1:12;

Summ=lab2_f2(x);

disp('сумма ряда равна: '), disp(Summ)

disp('число иттераций: '), disp(length(x))

%столбец с минимальным элементом

M=[-1.1 4 -11 6; 3 0 5 2.3; 6.2 -0.3 3 -6.4];

R=lab2_f3(M);

disp('Номер столбца с минимальным элементом'), disp(m)

lab2_f1

function[R]=lab2_f1(t,T)

R=zeros(1,length(t));

for i=[1:1:length(t)]

if t(i)<-T

R(i)=0;

elseif t(i)<=0

R(i)=3+3*t(i);

elseif t(i)<=T

R(i)=3-3*t(i);

else

R(i)=0;

end

end

lab2_f2

function[R]=lab2_f2(x)

R=0;

for i=x

x1=i/(i+1);

R=R+x1;

end

end

Lab_f3

function[R]=lab2_f3(M)

sub=1;

min = M(1,1);

for i=[1:1:12]

if M(i)<min

min=M(i);

sub=i;

end

end

[n m]=ind2sub(size(M), sub)

disp('столбец с минимальным элементом:'), disp(m)

end

4. Результаты выполнения программы

Окно 1:

Листинг:

сумма ряда равна:

9.8199

число иттераций:

12

cтолбец с минимальным элементом:

3

5. Выводы.

В ходе работы мы освоили основные конструкции языка MATLABа именно и ветвящиеся и циклические алгоритмы. Кроме того, изучили правила создания, оформления и использованияm-функций. Создание функций которые могут принимать и возвращать не только символы, но и матрицы. По работе составлен отчёт в соответствии с предъявленными требованиями.

Соседние файлы в папке лабы 3 вар matlab