Знакомство с 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.