ЗНАКОМСТВО С MATLAB. ОСНОВНЫЕ ОБЪЕКТЫ ЯЗЫКА MATLAB

Федеральное государственное образовательное бюджетное учреждение

Высшего профессионального образования

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

им. проф. М. А. Бонч-Бруевича»

_____________________________________________________________________________

 

Кафедра радиосистем и обработки сигналов

 

Дисциплина «Прикладные пакеты моделирования»

 

 

Лабораторная работа № 1

 

 

ЗНАКОМСТВО С MATLAB. ОСНОВНЫЕ ОБЪЕКТЫ ЯЗЫКА MATLAB

 

 

Выполнили: ст. гр. ИКТ-312

Тютин А.В.

Шеламова М.А.

Кобзев С.А.

 

 

Проверил: доц. Клионский Д.М.

_____________________

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

ЦЕЛЬ РАБОТЫ

Познакомиться с назначением и интерфейсом системы MATLAB и овладеть начальными навыками работы в режиме прямых вычислений.

ВЫПОЛНЕНИЕ РАБОТЫ

1. Запуск системы MATLAB и знакомство с его интерфейсом.

Пояснить, какие окна образуют интерфейс MATLAB?

Интерфейс MATLAB образуют окна:

· Command Window (Командное окно)

· Workspace (Рабочая область памяти)

· Current Folder (Текущая папка)

· Command history (История команд)

 

2. Знакомство со справочной системой MATLAB в формате HTML.

Пояснить, как обратиться к справочной системе?

· Обращение к справочной системе в формате HTML производится по команде MATLAB Help в пункте меню Help окна MATLAB или же по команде help <стандартное имя объекта языка MATLAB>.

 

3. Ввод комментария в окне Command Window.

Ввести наименование лабораторной работы. Пояснить какой символ используется для ввода комментариев?

· Для ввода комментариев используется символ процента- %.

· Например: %ЗНАКОМСТВО С MATLAB. ОСНОВНЫЕ ОБЪЕКТЫ ЯЗЫКА MATLAB.

 

4. Знакомство с командами языка MATLAB.

Ввести команду >> help general. Пояснить значение команды help. О каких

объектах MATLAB будет выдана справка?

· help – справка (помощь).

· По команде >> help general будет выводиться список команд общего пользования.

 

5. Очистка окна Command Window.

Пояснить какая команда используется?

· Для очистки окна Command Window используется команда clc.

 

6. Ввод вещественных констант.

Вести следующие константы в обычной форме и форме Е без символа «;» в конце строки:

0,0000

0,814

-0,814

8,14×10-7

0,814578942

0,99999999

0,000014765178

8145,7

-8145,577777777

0,8145557×105

Ввод констант в обычной форме:

 

>> 0

ans =

>> 0.0000

ans =

>> 0.814

ans =

0.8140

>> -0.814

ans =

-0.8140

>> 8.14*10^-7

ans =

8.1400e-007

>> 0.814578942

ans =

0.8146

>> 0.99999999

ans =

1.0000

>> 0.000014765178

ans =

1.4765e-005

>> 8145.7

ans =

8.1457e+003

>> -8145.577777777

ans =

-8.1456e+003

>> 0.8145557*10^5

ans =

8.1456e+004

 

Ввод констант в форме Е (нормализованной форме):

>> 0

ans =

>> 0.0000

ans =

>> 8.14e-1

ans =

0.8140

>> -8.14e-1

ans =

-0.8140

>> 8.14e-7

ans =

8.1400e-007

>> 8.1457894e-1

ans =

0.8146

>> 9.99999999e-1

ans =

1.0000

>> 1.4765178e-5

ans =

1.4765e-005

>> 8.1457e3

 

ans =

8.1457e+003

>> -8.14557777777e3

ans =

-8.1456e+003

>> 8.145557e4

ans =

8.1456e+004

 

Пояснить:

Смысл символа «;» в конце строки?

Какой переменной присваиваются значения вводимых констант?

В каком случае при вводе констант целесообразно использовать форму E?

В каком формате выводятся константы по умолчанию?

Как вывести указанные константы с максимальным количеством значащих чисел в

дробной части?

Какое количество значащих цифр в дробной части будет максимальным?

Какие форматы предусмотрены для вывода вещественных констант?

Какую форму Е называют нормализованной?

  • Символ «;» в конце строки блокирует автоматический вывод результата.

· Значения вводимых констант присваиваются переменной ans.

· При вводе констант целесообразно использовать формат Е тогда, когда..

· Константы по умолчанию выводятся в формате с автоматическим выводом в обычной форме или нормализованной форме Е с 4 значащими цифрами в дробной части мантиссы.

· Чтобы вывести указанные константы с максимальным количеством значащих чисел в дробной части, необходимо: ввести команду format long или format long e. Затем ввести константу.

· Максимальное количество значащих цифр в дробной части – 15.

· Для вывода вещественных констант предусмотрены форматы format, format short e, format long, format long e.

· Форму Е называют нормализованной, если целая часть мантиссы содержит одну отличную от нуля цифру, а порядок – три цифры.

 

7. Ввод комплексных констант.

Ввести следующие константы без символа «;» в конце строки:

0,057+0,5j

0,057+0,5i

1200000,5+56i

1200000,57857+56i

12,5+56i

12,5+0,000056i

-0,99999999i

0i

17+10-5i

15×10-5i

 

Ввод констант:

>> 0.057+0.5j

ans =

0.0570 + 0.5000i

 

>> 0.057+0.5i

ans =

0.0570 + 0.5000i

>> 1200000.5+56i

ans =

1.2000e+006 +5.6000e+001i

>> 1200000.57857+56i

ans =

1.2000e+006 +5.6000e+001i

>> 12.5+56i

ans =

12.5000 +56.0000i

>> 12.5+0.000056i

ans =

12.5000 + 0.0001i

>> -0.99999999i

ans =

0 - 1.0000i

>> 0i

ans =

>> 17+10e-5i

ans =

17.0000 + 0.0001i

>> 15*10e-5i

ans =

0 + 0.0015i

Пояснить:

В какой форме вводятся комплексные константы?

В какой форме вводится их вещественные и мнимые части?

В каком формате выводятся комплексные константы по умолчанию?

Какой формат целесообразно выбрать для вывода указанных констант?

Какая из констант списка будет воспринята как вещественная?

· Комплексные константы вводятся в алгебраической форме.

· Вещественные и мнимые части вводятся в обычной форме или форме Е.

· Комплексные константы выводятся в формате с автоматическим выводом в обычной форме или в форме Е с 4 значащими цифрами в дробной части мантиссы.

· Для вывода указанных констант целесообразно выбирать формат по умолчанию(format).

· Константа 0i будет воспринята как вещественная.

 

8. Ввод логических констант.

Ввести константы true и false без символа «;» в конце строки.

 

>> true

ans =

>> false

ans =

Пояснить, какие значения будут выведены и какой переменной присвоены?

· Для константы true будет выведено значение 1, для константы false – 0. Константы будут присвоены переменной ans.

 

9. Ввод символьных констант.

Ввести константы:

ФИО;

Наименование лабораторной работы.

 

>> 'shelamova mariya aleksandrovna'

ans =

shelamova mariya aleksandrovna

 

>> 'ЗНАКОМСТВО С MATLAB. ОСНОВНЫЕ ОБЪЕКТЫ ЯЗЫКА MATLAB'

ans =

ЗНАКОМСТВО С MATLAB. ОСНОВНЫЕ ОБЪЕКТЫ ЯЗЫКА MATLAB

 

Пояснить, как вводятся и выводятся символьные константы?

· Символьные константы вводятся с использованием символа « ’ ». Выводятся без знака « ’ ».

 

10. Ввод векторов.

Ввести векторы – строки и столбцы со следующими элементами:

-0,9; 125; 0; 5+3i; 12i;

-0,9; 125; 0; 5; 12;

1; 2; 4; 5; 12;

 

Введем вектор-строку:

>> A=[-0.9 125 0 5+3i 12i]

A =

1.0e+002 *

Columns 1 through 4

-0.0090 1.2500 0 0.0500 + 0.0300i

Column 5

0 + 0.1200i

>> A=[-0.9 125 0 5 12]

A =

-0.9000 125.0000 0 5.0000 12.0000

>> A=[1 2 4 5 12]

A =

1 2 4 5 12

 

Ведем вектор - столбец:

>> A=[-0.9; 125; 0; 5+3i; 12i]

A =

1.0e+002 *

-0.0090

1.2500

0.0500 + 0.0300i

0 + 0.1200i

>> A=[-0.9; 125; 0; 5; 12]

A =

-0.9000

125.0000

5.0000

12.0000

>> A=[1; 2; 4; 5; 12]

A =

 

Пояснить:

Какие символы используются при вводе векторов?

Как в МАТLАВ воспринимаются скаляры и векторы?

 

· При вводе векторов используются символы: «[ ]», «;», «,» ;

· В МАТЛАВ скаляры и векторы воспринимаются как матрицы.

 

11. Ввод матрицы.

Ввести матрицы 3 х 3 и 3 х 2 с произвольными элементами.

 

>> a=[-0.9 125 0; 5 24 24; 544 5 7741]

a =

1.0e+003 *

-0.0009 0.1250 0

0.0050 0.0240 0.0240

0.5440 0.0050 7.7410

>> a=[-0.9 125 0; 5 24 24]

a =

-0.9000 125.0000

5.0000 24.0000

544.0000 5.0000

Пояснить, что называют размером и порядком матрицы?

· Размером матрицы называют количество строк и столбцов.

· Если число строк матрицы равно числу столбцов, то матрица называется квадратной. Число строк или, что то же самое, число столбцов в ней называется порядком матрицы.

 

12. Ввод переменных.

Присвоить произвольные значения простой переменной, вектору и матрице.

>> x=5

x =

>> y=[3 4 4]

y =

3 4 4

>> y=[3 4 4; 8 9 9; 3 5 77]

y =

3 4 4

8 9 9

3 5 77

 

Пояснить, как выбираются имена переменных и как переменные воспринимаются в MATLAB.

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

 

13. Знакомство с особенностями ввода комплексных переменных.

Присвоить переменной i значение 5.

Присвоить переменной F значение комплексной константы 5+3i, которую ввести двумя способами: без символа умножения в мнимой части; с символом умножения.

 

>> i=5

i =

>> F=5+3i

F =

5.0000 + 3.0000i

>> F=5+3*i

F =

 

Пояснить:

В каком из этих случаев и почему возникает ошибка?

Как предотвратить возникновение ошибок в подобных случаях?

· Ошибка возникает в первом случае (без знака умножения в мнимой части). Ошибка возникает потому, что не был поставлен знак «*» в мнимой части выражения. i воспринимается как мнимая единица, а не переменная i=5.

· Для предотвращения возникновение ошибок следует выбирать такие имена переменным, которые бы не совпадали бы с именами стандартных констант.

 

14. Знакомство со стандартными функциями с комплексным аргументом.

Присвоить переменной произвольное комплексное значение.

Вычислить модуль, аргумент, вещественную и мнимую части переменной.

Присвоить другой переменной значение комплексно-сопряженной константы.

 

>> x=5+3i;

Модуль числа х:

>> abs (x)

ans =

5.8310

Аргумент числа х:

>> angle (x)

ans =

0.5404

Выделение реальной части Re(x):

>> real (x)

ans =

Выделение мнимой части Im(x):

>> imag(x)

ans =

Комплексно сопряженное число :

>> conj(x)

ans =

5.0000 - 3.0000i

 

Пояснить, какие стандартные функции для этого используются?

Используются следующие стандартные функции : abs (x), angle (x), real (x),

imag(x), conj(x).

15. Ввод арифметических выражений.

Присвоить переменным a, b и с значения произвольных вещественных констант, не равных нулю.

Вычислить следующие значения:

d=a+bsin(/a+b/c-cosa);

e=a2- + + .

Представить запись соответствующих арифметических выражений в MATLAB.

>> a=5;

>> b=3;

>> c=6;

>> d=a+b*sin(pi/a+b/c-cos(a*pi))

d =

7.5457

>> e=((a^2)-sqrt(abs(b))+(c^(1/3)) +((d+a*c)/b))

e =

37.6003

 

Пояснить приоритет выполнения операций?

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

 

16. Ввод логических выражений.

Используя переменные предыдущего пункта, записать логическое выражение с использованием операций отношения и вычислить его значение. Представить записи соответствующих логических выражений в MATLAB.

 

>> d=a+b*sin((pi/a)+(b/c)-cos(a*pi))>5

d =

>> e=((a^2)-sqrt(abs(b))+(c^(1/3)) +((d+a*c)/b))<40

e =

Добавить в данное выражение логические операции и вычислить значение нового логического выражения.

Представить записи соответствующих логических выражений в MATLAB.

>> d=not(a>5+(b*sin((pi/a)+(b/c)-cos(a*pi))>5))

d =

>> e=not((a^2)-sqrt(abs(b))+not(c^(1/3)) +((d+((a<6)*c))/b))<40

e =

 

Пояснить:

Приоритет выполнения операций?

Какие значения может принимать логическое выражение?

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

· Логическое выражение может принимать значения : 1 (true) или 0 (false).

 

17. Знакомство со стандартными переменными.

Ввести арифметические выражения, которым по умолчанию будут присвоены константы Nan и Inf.

>> 0/0

ans =

NaN

>> 1/0

ans =

Inf

 

Пояснить назначение данных констант?

· Inf – Машинная бесконечность (число, большее максимально допустимого во внутренних вычислениях в MATLAB).

· Nan – Не число. Присваивается неопределенностям.

 

18. Знакомство со стандартными функциями округления.

Выполнить следующие вычисления:

floor([8.2 8.5 8.7 -8.2 -8.5 -8.7])

ceil([8.2 8.5 8.7 -8.2 -8.5 -8.7])

convergent([8.2 8.5 8.7 -8.2 -8.5 -8.7])

nearest([8.2 8.5 8.7 -8.2 -8.5 -8.7])

round([8.2 8.5 8.7 -8.2 -8.5 -8.7])

fix([8.2 8.5 8.7 -8.2 -8.5 -8.7])

 

Привести и пояснить полученные результаты?

>> floor([8.2 8.5 8.7 -8.2 -8.5 -8.7])

ans =

8 8 8 -9 -9 -9

>> ceil([8.2 8.5 8.7 -8.2 -8.5 -8.7])

ans =

9 9 9 -8 -8 -8

>> convergent([8.2 8.5 8.7 -8.2 -8.5 -8.7])

ans =

8 8 9 -8 -8 -9

>> nearest([8.2 8.5 8.7 -8.2 -8.5 -8.7])

ans =

8 9 9 -8 -8 -9

>> round([8.2 8.5 8.7 -8.2 -8.5 -8.7])

ans =

8 9 9 -8 -9 -9

>> fix([8.2 8.5 8.7 -8.2 -8.5 -8.7])

ans =

8 8 8 -8 -8 -8

 

· floor (х) – округление в направлении -бесконечности (до ближайшего целого в сторону уменьшения).

· сeil (х) - округление в направлении +бесконечности (до ближайшего целого в сторону увеличения).

· сonvergent (х)- округление до ближайшего целого- при дробной части, равной0.5 – в сторону ближайшего четного числа.

· nearest (x) – округление до ближайшего целого – при дробной части, равной 0,5 – в сторону увеличения.

· round (x) – округление до ближайшего целого – при дробной части, равной 0,5 – в сторону увеличения модуля числа.

· fix (x) – округление в направлении нуля – усечение дробной части.

 

19. Знакомство со стандартными функциями преобразования систем счисления.

Записать произвольное целое десятичное число и преобразовать его в шестнадцатеричное и двоичное.

>> x=19;

>> dec2hex(x)

ans =

>> dec2bin(x)

ans =

Выполнить обратные преобразования.

>> bin2dec('10011')

ans =

>> hex2dec('13')

ans =

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

· Преобразования выполняются с использованием стандартных функций : dec2hex(x), dec2bin(x), bin2dec(х),hex2dec(х).

 

20. Сохранение переменных на диске.

Присвоить переменным А,В и С произвольные значения и сохранить их в папке work с произвольным именем.

>> A=5

A =

>> B=3

B =

>> C=45

C =

>> save lab1 A B C

 

Пояснить:

Назначение папки work?

Какая команда используется для хранения данных?

Как выбирается имя файла данных?

Какое расширение имеют файлы данных?

· Папка work предназначена для хранения файлов, в которых сохранены значения переменных.

· Для хранения данных используется команда save.

· Имя файла выбирается произвольно. Но если оно не указано, то по умолчанию файлу присваивается имя первой переменной из списка переменных, а сама первая переменная при этом не сохраняется.

· Файлы данных имею расширение mat.

 

21. Знакомство с рабочим пространством памяти Workspace?

Выполнить следующие действия:

Очистить и проверить содержимое Workspace;

Загрузить сохраненный файл данных и вывести значение переменных А,В и С в окне Command Window;

>> load lab1

>> A

A =

>> B

B =

>> C

C =

Проверить содержимое Workspace;

Удалить из Workspace переменную А и проверить содержимое Workspace;

>> A

??? Undefined function or variable 'A'.

Очистить и проверить содержимое Workspace.

Пояснить назначение Workspace и выполняемые команды.

· Workspace – рабочая область памяти, в которой хранятся переменные текущей сессии. Окно Workspace содержит построчный список имен переменных.

 

22. Завершение работы MATLAB.