Скачиваний:
23
Добавлен:
27.01.2021
Размер:
27.22 Кб
Скачать

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

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

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

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

Кафедра РТЭ

отчёт

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

по дисциплине «Информационные технологии»

Тема: «Среда конечного пользователя Матлаб»

Студентка гр.9283

Зикратова А. А.

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

Кочунов К. В.

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

2020

Цель работы:

освоение базовых операторов и отладка программ в среде конечного пользователя Матлаб.

Работа включает упражнения и задачи по разделам:

• Переменные и вектора

• Условный оператор if

• Оператор цикла while

• Оператор цикла for

• Средства отладки программ

• Задачи по отладке программ Задание

• Выполнить упражнения

• Отладить программы

• Оформить отчет

1 задание:

В командном окне:

Ввести численные переменные а=2,3 в=-34,7 x=1 y=2, вычислить z=(x+y)-a/b

Ввести символьные переменные с=a

Ввести строковую переменную h= мама мыла раму

Полученный листинг скопировать в отчет

Результаты:

a=2.3

a =

2.3000

>> b=-34.7

b =

-34.7000

>> x=1

x =

1

>> y=2

y =

2

>> z=(x+y)-a/b

z =

3.0663

>> c=a

c =

2.3000

>> h="мама мыла раму"

h =

"мама мыла раму"

2 задание:

В командном окне:

Ввести формулы 25,7-14,6 затем 2 x ans затем x=ans/2

Полученный листинг скопировать в отчет

Результаты:

>> 25.7-14.6

ans =

11.1000

>> 2*ans

ans =

22.2000

>> x=ans/2

x =

11.1000

3 задание:

В командном окне:

Ввести численные переменные ABC=1, abc=2, Abc=3, aBc=4, вычислить x= ABC+abc+Abc+aBc, вычислить у= ABC*abc*Abc*aBc

Полученный листинг скопировать в отчет

Результаты:

>> ABC=1

ABC =

1

>> abc=2

abc =

2

>> Abc=3

Abc =

3

>> aBc=4

aBc =

4

>> x=ABC+abc+Abc+aBc

x =

10

>> y=ABC*abc*Abc*aBc

y =

24

4 задание:

В командном окне:

Ввести вектор Х с начальным значением Xn=-3,5, шагом dx=1,5 и конечным значением Xk=4,5

Вычислить массив значений Y= sin(X/2)

Ввести вектор A с начальным значением 0, шагом 1 и конечным значением 5

Полученный листинг скопировать в отчет

Результаты:

>> X=-3.5:1.5:4.5

X =

-3.5000 -2.0000 -0.5000 1.0000 2.5000 4.0000

>> Y=sin(X./2)

Y =

-0.9840 -0.8415 -0.2474 0.4794 0.9490 0.9093

>> A=0:5

A =

0 1 2 3 4 5

5 задание:

В командном окне:

Ввести вектор-строку V из пяти последовательных элементов 1, 2, 3, 2,1

Ввести вектора-строки W из четырех последовательных элементов 1,1: 2,3; 0,1; 5,88 − Ввести вектор-столбец X из трех последовательных элементов 1, 2, 3;

Вычислить формулу W1+2W3 − Полученный листинг скопировать в отчет

Результаты:

>> v=[1 2 3 2 1]

v =

1 2 3 2 1

>> W=[1.1 2.3 -0.1 5.88]

W =

1.1000 2.3000 -0.1000 5.8800

>> X=[1 2 3]

X =

1 2 3

>> W(1)+2*W(3)

ans =

0.9000

6 задание:

В командном окне:

Ввести матрицу А, состоящую из трех строк по три элемента в каждой: строка 1: 1 2 3; строка 2: 4 5 6; строка 3: 7 8 9

Вычислить формулу А1,2 в степени А2,2 деленное на А3,3

Полученный листинг скопировать в отчет

Результаты:

>> A=[1 2 3; 4 5 6; 7 8 9]

A =

1 2 3

4 5 6

7 8 9

>> (A(1,2)^A(2,2))/A(3,3)

ans =

3.5556

7 задание:

В окне Редактора (Editor):

Применить оператор if-end для программы, которая в зависимости от заданного значения переменной X присваивает переменной signX:

- значение ‘плюс’, если значение переменной X больше нуля

- значение ‘минус’, если значение переменной X меньше нуля

- значение ‘ноль’, если значение переменной X равно нулю

Записать программу в файл PR1-7_FIO_GR.m

Определить переменную signX для трех значений X: 5, -3, 0

Вывести значения Х и signX, используя оператор disp

Текст программы и полученные листинги скопировать в отчет

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

>> x=input('Enter x:');

y=sign(x);

if x>0

disp('y>0')

end

if x<0

disp('y<0')

end

disp(y)

disp(x)

Результаты:

Enter x:5

y>0

1

5

Enter x:-3

y<0

-1

-3

Enter x:0

0

0

8 задание:

В окне Редактора (Editor):

Применить оператор if-else-end для программы, которая в зависимости от заданного значения переменной X присваивает переменной signX:

- значение ‘плюс’, если значение переменной X больше нуля

- значение ‘минус’, если значение переменной X меньше нуля

- значение ‘ноль’, если значение переменной X равно нулю − Записать программу в файл PR1-8_FIO_GR.m

Определить переменную signX для трех значений X: 5, -3, 0

Вывести значения Х и signX, используя оператор disp

Текст программы и полученные листинги скопировать в отчет

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

>> x=input('Enter x:');

y=sign(x);

if x>0

disp('y>0')

else

if x<0

disp('y<0')

end

end

disp(y)

disp(x)

Результаты:

Enter x:5

y>0

1

5

Enter x:-3

y<0

-1

-3

Enter x:0

0

0

9 задание:

В окне Редактора (Editor):

Применить оператор if-else-end для программы, которая в зависимости от заданного значения переменной X присваивает переменной signX:

- значение ‘плюс’, если значение переменной X больше нуля

- значение ‘минус’, если значение переменной X меньше нуля

- значение ‘ноль’, если значение переменной X равно нулю − Записать программу в файл PR1-9_FIO_GR.m

Определить переменную signX для трех значений X: 5, -3, 0

Вывести значения Х и signX, используя оператор disp

Текст программы и полученные листинги скопировать в отчет

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

>> x=input('Enter x:');

y=sign(x);

if x>0

disp('y>0')

elseif x<0

disp('y<0')

end

disp(y)

disp(x)

Результаты:

Enter x:5

y>0

1

5

Enter x:-3

y<0

-1

-3

Enter x:0

0

0

10 задание:

В окне Редактора (Editor):

Применить оператор if-else-end с логическим оператором ‘&’ (И) для программы, которая проверяет попадание переменной Х в диапазон от 0 до 2. При попадании переменной valueX присваивается значение ‘TRUE’, в противном случае – ‘FALSE’

Записать программу в файл PR1-10_FIO_GR.m

Определить переменную valueX для двух значений X: 5, 1

Вывести значения Х и valueX, используя оператор disp

Текст программы и полученные листинги скопировать в отчет

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

>> X=input('Enter x:');

if (X>0) && (X<2)

disp('true')

else

disp('false')

end

disp(X)

Результаты:

Enter x:5

false

5

Enter x:1

true

1

11 задание:

В окне Редактора (Editor):

Применить оператор if-else-end с логическим оператором ‘|’ (ИЛИ) для программы, которая проверяет выход переменной Х за границы диапазона от 0 до 2. При выходе переменной valueX присваивается значение ‘TRUE’, в противном случае – ‘FALSE’

Записать программу в файл PR1-11_FIO_GR.m

Определить переменную valueX для двух значений X: 5, 1

Вывести значения Х и valueX, используя оператор disp − Текст программы и полученные листинги скопировать в отчет

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

>> X=input('Enter X:');

if (X<0) || (X>2)

disp('true')

else

disp('false')

end

disp(X)

Результаты:

Enter X:5

true

5

Enter X:1

false

1

12 задание:

В окне Редактора (Editor):

Применить оператор цикла while для подсчета суммы ряда. Суммирование выполнять до тех пор пока счетчик i не превышает 20, либо значение суммы S меньше 20.

При выходе переменной valueX присваивается значение ‘TRUE’, в противном случае – ‘FALSE’

Записать программу в файл PR1-12_FIO_GR.m

Вывести значения i и S, используя оператор disp

Текст программы и полученные листинги скопировать в отчет

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

i=1;

S=0;

while S<20 || i<=20

S=S+i;

i=i+1;

end

disp(i)

disp(S)

Результаты:

21

210

13 задание:

В окне Редактора (Editor):

Применить оператор цикла for для нахождения наибольшего элемента вектора из четырех элементов: 3, 6, 5, 3.

Записать программу в файл PR1-13_FIO_GR.m

Вывести номер и значение наибольшего элемента вектора, используя оператор disp − Текст программы и полученные листинги скопировать в отчет

>> T=[3 6 5 3];

m=T(1);

for i=1:length(T)

if m<T(i)

m=T(i);

end

end

[val,idx]=max(T);

disp(m)

disp(idx)

6

2

14 задание:

В окне Редактора (Editor):

Отладить программу. После исправленных команд вставить комментарии с исходными текстами команд.

Записать программу в файл PR1-14_FIO_GR.m

Текст отлаженной программы скопировать в отчет

array_1D=1:2:15;

array_1d=[1 2 3 4;5 6 7 8;9 10 11 12]; % 2array_1d=[1 2 3 4;5 6 7 8;9 10 11 12]

x=-pi: exp(1)-2: 2*pi; % x=-pi:1,e-2:2*pi;

y1= x.^2;

y2=x;

for ii=1:1.2:5

if ii>2

disp(ii)

elseif ii == 3 % elseif ii = 3

j=ii-1; % j=ii-1

end

end

NN=1;

while NN<100 % while Nn<100

NN=NN+1;

end

for phi_0=0:0.1:pi %for phi_0=0:0,1:pi

x = -2*pi: 2*exp(1)-2: 2*pi;

u = sin(x-phi_0);

end

Вывод:

В ходе лабораторной работы были проделаны задания с целью ознакомления с основными элементами программы Matlab.