Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ыбулин А.М. Лабораторная работа 1 ТАУ стр. 15 из 15
Тема: Ознакомление с системой MatLab
Цель работы. Получить начальные сведения о системе MatLab.
Порядок выполнения работы. Работа содержит описательную часть и несколько заданий для самостоятельного выполнения.
Запуск системы MatLab
Запустите MatLab . Значок находится на рабочем столе Windows. После запуска на экране появляется командное окно MatLab.
В начале запуска автоматически выполняется команда matlabrc которая исполняет загрузочный файл matlabrc.m, если такой существует. Эти файлы выполняют начальную настройку терминала системы и задают ряд ее параметров. Для сохранения собственных файлов рекомендуется создать пользовательский каталог, например, каталог именем Mymatlab в своей папке. Доступ к этому каталогу необходимо обеспечить с помощью команды path ( path,C:\...\ Mymatlab). Эту команду целесообразно включать в файл startup.m, который свою очередь нужно создать и записать в один из каталогов системы MatLab , например в каталог. в котором размещается файл matlabrc.m.
Сеанс работы с MatLab
Сеанс работы с MatLab принято именовать сессией. Сессия, в сущности, является текущим документом, отражающим работу пользователя с системой MatLab. В ней имеются строки ввода, вывода и сообщений об ошибках. Команды вводятся с клавиатуры в командной строке (после знака приглашения >>). Нажатие клавиши Enter приводит к выполнению введенной команды. В строке вывода символ >> отсутствует. Строка сообщений об ошибках начинается символами ???. Входящие в сессию определения переменных и функций располагаются в рабочей области памяти. Команды набираются на клавиатуре с помощью обычных операций строчного редактирования. Особое значение, имеют клавиши - и . Они используются для подстановки после приглашения >> ранее введенных строк, например, для дублирования, исправления или дополнения.
Часто используемые команды:
clc очищает экран и размещает курсор в левом верхнем углу пустого экрана;
clear уничтожает в рабочем пространстве определение всех переменных;
clear x - уничтожает в рабочем пространстве определение переменной х;
clear a,b,c - уничтожает в рабочем пространстве определение переменных списка.
Уничтоженная (стертая в рабочем пространстве) переменная становится неопределенной. Использовать такие переменные нельзя, будет выдаваться сообщение об ошибке. По мере задания одних переменных и уничтожения других рабочая область перестает быть непрерывной, в ней появляются «дыры» и всякий «мусор». Во избежание непроизводительных потерь памяти при работе с объемными данными следует использовать команду pack , осуществляющую дефрагментацию рабочей области.
Элементы программирования на языке MatLab
Система MatLab ориентирована на работу с матричными переменными. По умолчанию предполагается, что каждая заданная переменная - это матрица. Даже обычные константы и переменные рассматриваются в MatLab как матрицы размером 1Х1.
Простейшей конструкцией языка программирования является оператор присваивания:
Имя_переменной= Выражение
Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваивается переменной. Так, если выражение вектор или матрица, переменная будет векторной или матричной.
После набор оператора в командной строке и нажатия клавиши ENTER на экран дисплея выводится вычисленное значение переменной. Для блокировки вывода результата вычислений на экран оператор нужно завершить символом ; (точка с запятой).
Пример
>> x=2 ;
>> у=2;
>>r=sqrt(x^2+y^2)
r=
2.8284
Возможна также конструкция, состоящая только из выражения. В этом случае для результата вычислений MatLab назначает переменную с именем ans.
>> x=2 ;
>> у=2;
>>sqrt(x^2+y^2)
ans=
2.8284
Для выполнения арифметических операций в системе MatLab применяются обычные символы: +(сложение), - (вычитание), * (умножение), /(деление), ^ (возведение в степень). Эти операции называются матричными, так как применяются и при работе с матрицами. Наряду с матричными операциями над массивами можно выполнять и поэлементные операции. Для обозначения поэлементных операций используется . (точка), предшествующая обычной (матричной) операции.
Для присвоения значений массиву необходимо значения элементов массива перечислить в квадратных скобках, разделяя их пробелами.
Пример
>> v=[2 4 6]
v=
2 4 6
В этом примере был задан вектор v (одномерный массив) со значениями элементов 2,4,6. Задание матрицы (двухмерного массива) требует указания различных строк. Для различения строк используется ; (точка с запятой).
Пример
>> m=[2 4 6; 1 3 5; 8 7 6]
m=
2 4 6
1 3 5
8 7 6
Для указания отдельного элемента массива используется имя массива и круглые скобки, внутри которых указываются индексы, разделенные запятыми.
Пример
>> m=[2 4 6; 1 3 5; 8 7 6];
>> m(1,1)=5;
>> m(3,3)=m(1,1)+ m(3,3);
>> m
m=
2 4 6
1 3 5
8 7 6
MatLab допускает максимум 4096 символов в строке. Если для выражения не хватает одной строки или не желательно заходить в невидимую область окна, то выражение можно перенести на новую строку с помощью многоточия …(3 или более точек). Программу можно комментировать. Комментарий в строке начинается символом %.
Пример
>>%Пояснение переноса выражения и комментариев
>> x=2 ;
>> у=2;
>>r=sqrt(x^2+…% Перенос выражения на следующую строку
y^2)
r=
2.8284
Для формирования упорядоченных числовых последовательностей в MatLab применяется оператор : (двоеточие):
Начальное_ значение:Шаг:Конечное _значение
Данная конструкция порождает последовательность (массив) чисел.которая начинается с начального значения. изменяется с заданным шагом и завершается при достижении конечного значения. Если шаг не задан. то он принимает значение +1 или -1.
Пример
>> i=1:6
i=
1 2 3 4 5 6
>> x=0:0.5:3
x=
0 0.5000 1.0000 1.5000 2.0000 2.500 3.0000
>> x=3:-0.5:0
x=
3.000 2.5000 2.0000 1.5000 1.0000 0.5000 0
Справочная система MatLab
MatLab имеет справочную систему, которая активизируется пунктом ? на главном меню MatLab.
Построение графиков функций одной переменной
Для построения графиков функций одной переменной y=f (x) MatLab имеется функция plot. График строится в декартовой системе координат по заданным массивам значений аргумента и функции. Заданные этими массивами точки соединяются прямыми линиями. Имеется возможность изменять тип и цвет линии и тип узловых точек (маркеров). Вызов этой функции осуществляется следующей командой:
plot(x,y,s)
где х массив значений аргумента функции y=f (x); у массив значений функции y=f (x); х, у одномерные массивы одинаковой размерности; s строковая константа, определяющая цвет линии. маркер узловых точек и тип линии. Эта константа может содержать от одного до трех символов.
Цвет линии определяется символами: у желтый, m фиолетовый, c голубой, r красный, g зеленный, b синий, w белый, k черный.
Тип узловой точки определяется следующими символами: . точка, o буква о, x крестик, + - плюс, * - звездочка, s квадрат, d ромб, < >^ - треугольники, p пятиугольник, h шестиугольники.
Тип линии определяется символами непрерывная, : короткие штрихи, - штрихпунктир, -- длинные штрихи.
Символьную константу s можно опустить. В этом случае по умолчанию используется непрерывная линия желтого цвета.
Для построения в одном окне нескольких графиков используется следующая команда:
plot(x1,y1,s1, x2,y2,s2, x3,y3,s3,…)
Пример
%графики функций sin x, cos x
x=0:0.1:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,k-o,y2,r--*)
В результате выполнения этой программы на экране монитора будет выведено окно с графиками функций sin (x), cos (x), которые представлены будут в черно-белой палитре, хотя график функции cos (x) выводится красным цветом. Некоторые встроенные функции системы приведены в табл.1.
Созданный график можно скопировать в буфер Clipboard, активизировав в пункте Edit главного меню окна графики команду Copy Figure, с целью его дальнейшего редактирования, в каком либо графическом редакторе, например Paint.
Встроенные функции системы MatLab
Обозначение |
Название функции |
Обозначение |
Название функции |
sin |
синус |
log |
натуральный логарифм |
cos |
косинус |
log10 |
десятичный логарифм |
tan |
тангенс |
exp |
натуральная экспонента (возведение e=2,72 в степень) |
asin |
арксинус |
||
acos |
арккосинус |
sqrt |
квадратный корень |
atan |
арктангенс |
pi |
число =3,14 |
Для создания в графическом окне нескольких подокон для вывода графиков используется процедура subplot(m,n,p), где m - число подокон в окне по горизонтали, n - по вертикали, p - номер используемого подокна (нумерация с 1).
? Для формирования графика в столбиковой форме нужно использовать процедуру bar(x,y). При выводе такого графика в подокно строка программы имеет вид subplot(m,n,p), bar(x,y).
Пример выполнения
Задание Функция 1 y = 2sin(x)
Функция 2 z = 0.02x3
Начальное значение аргумента a = -2p
Конечное значение аргумента b = 2p
Шаг изменения аргумента h = p/20
Задача 1
% Задача 1
% Диапазон и шаг
a=-2*pi;
b=2*pi;
h=pi/20;
% Задание аргумента
X=a:h:b;
%Расчет функций
Y=2*sin(X);
Z=0.02*X.^3;
% Вывод графиков с одинаковым типом линии в окно 1
figure(1);
plot(X,Y,X,Z);
% Включим координатную сетку
grid on
% Вывод графиков с разными типами линии в окно 2
figure(2);
plot(X,Y,'-',X,Z,':');
% Включим координатную сетку
grid on
Задача 2
% Задача 2
% Диапазон и шаг
a=-2*pi;
b=2*pi;
h=pi/20;
% Задание аргумента
X=a:h:b;
%Расчет функций
Y=2*sin(X);
Z=0.02*X.^3;
% Вывод графика 1 в виде столбиков в подокно 1
subplot(2,1,1),bar(X,Y);
% Вывод графика 2 в виде столбиков в подокно 2
subplot(2,1,2),bar(X,Z);
Построение графиков функций нескольких переменных
Поверхностный и контурный графики. Для формирования поверхностного или контурного графика необходимо:
? задать число точек по координатам X иY,
? создать вложенные циклы по X иY, вычислить функцию Z=f(X,Y),
? ввести номер графического окна, вывести туда график выбранного типа.
4. Следует использовать графики:
? трехмерный с аксонометрией, функция plot3(X,Y,Z),
? трехмерный с функциональной окраской, функция mesh(X,Y,Z),
? трехмерный с функциональной окраской и проекцией, функция meshc(X,Y,Z),
? трехмерный с функциональной окраской и проекцией, функция surf(X,Y,Z),
? контурный, функция contour(X,Y,Z),
? объемный контурный, функция contour3(X,Y,Z),
? трехмерный с освещением, функция surfl(X,Y,Z).
5. В каждом окне можно рисовать несколько графиков с наложением друг на друга. В списке параметров для каждого графика параметры перечисляются группами последовательно (в работе график для окна один). В каждую группу входят:
? X - первая координата площадки основания,
? Y - вторая координата площадки основания,
? Z - значение функции.
Пример выполнения
Задание
Функция . Пределы изменения аргументов -2p...2p
Задача 3
% Задача 1
% Число точек и шаг
N=40;
h=pi/20;
% Расчет матрицы
for n=1:2*N+1
if n==N+1 A(n)=1; else A(n)=sin(h*(n-N-1))/(h*(n-N-1)); end;
end;
for n=1:2*N+1
for m=1:2*N+1
Z(n,m)=A(n)*A(m);
end;
end;
% Задание площадки
[X,Y]=meshgrid([-N:1:N]);
% Вывод графика в аксонометрии в окно 1
figure(1);
plot3(X,Y,Z);
% вывод трехмерного графика с функциональной окраской в окно 2
figure(2);
mesh(X,Y,Z);
% вывод трехмерного графика с функциональной окраской и проекцией в окно 3
figure(3);
meshc(X,Y,Z);
% вывод трехмерного графика с проекцией в окно 4
figure(4);
surf(X,Y,Z);
% Вывод контурного графика в окно 5
figure(5);
contour(X,Y,Z)
% Вывод объемного контурного графика в окно 6
figure(6);
contour3(X,Y,Z)
% Вывод объемного графика с освещением в окно 7
figure(7);surfl(X,Y,Z)
Задача 4
% Задача 2
% Число точек и шаг
N=40;
h=pi/20;
% Расчет матрицы
for n=1:2*N+1
if n==N+1 A(n)=1; else A(n)=sin(h*(n-N-1))/(h*(n-N-1)); end;
end;
for n=1:2*N+1
for m=1:2*N+1
Z(n,m)=A(n)*A(m);
end;
end;
% Задание площадки
[X,Y]=meshgrid([-N:1:N]);
% Вывод графика в аксонометрии в подокно 1
subplot(3,3,1),plot3(X,Y,Z);
% вывод трехмерного графика с функциональной окраской в подокно 2
subplot(3,3,2),mesh(X,Y,Z);
% вывод трехмерного графика с функциональной окраской и проекцией в подокно 3
subplot(3,3,3),meshc(X,Y,Z);
% вывод трехмерного графика с проекцией в подокно 4
subplot(3,3,4),surf(X,Y,Z);
% Вывод контурного графика в подокно 5
subplot(3,3,5),contour(X,Y,Z)
% Вывод объемного контурного графика в подокно 6
subplot(3,3,6),contour3(X,Y,Z)
% Вывод объемного графика с освещением в подокно 7
subplot(3,3,7),surfl(X,Y,Z)
Контрольные вопросы
Задание к работе
Задача 1. Изучить интерфейс MatLab.
Задача 2. В соответствии с вариантом задания, полученным от преподавателя выполнить в режиме калькулятора следующие действия:
Варианты заданий
№ |
Операнд 1 |
Операнд 2 |
Операторы |
||
1 |
2 |
3 |
|||
1 |
V=[ 12 34 61 45 11 ] |
v = 34 |
* |
./ |
+ |
2 |
V=[ 80 67 34 11 45 ] |
v = 43 |
/ |
.* |
- |
3 |
V=[ 19 77 45 11 67 ] |
v = -5 |
+ |
.\ |
/ |
4 |
V=[ 11 98 67 45 22 ] |
v = 7 |
- |
.* |
/ |
5 |
V=[ 67 34 67 45 56 ] |
v = -12 |
+ |
.\ |
* |
6 |
V=[ 18 36 45 45 4 ] |
v = 10 |
/ |
./ |
- |
7 |
V=[ 55 43 8 45 23 ] |
v = 44 |
/ |
.* |
/ |
8 |
V=[ 32 28 55 45 34 ] |
v = 87 |
* |
- |
/ |
9 |
V=[ 14 34 33 45 15 ] |
v = 78 |
* |
+ |
+ |
10 |
V=[ 15 23 17 45 9 ] |
v = -22 |
/ |
- |
* |
11 |
V=[ 10 34 10 45 7 ] |
v = -14 |
* |
- |
* |
12 |
V=[ 95 56 5 45 54 ] |
v = 99 |
+ |
./ |
+ |
13 |
V=[ 18 90 35 45 46 ] |
v = 32 |
* |
.* |
- |
14 |
V=[ 24 34 87 45 88 ] |
v = -43 |
/ |
.* |
/ |
15 |
V=[ 14 41 90 45 77 ] |
v = 55 |
/ |
+ |
+ |
Задача 3. Для значений аргумента x= -2,-1,0,1,2 построить в разных окна графики следующих функций (используя разные типы узловых точек, линий и символьных констант):
1). y=sin(x)
2).z=tan(x)
3).v=exp(x)
Задача 4. Построить графики функций, указанных в задаче 4 в одном окне, используя упорядоченные числовые последовательности. Изменения значений аргумента х от -2 до 2 с шагом 0.1.
Задача 5. Двумерная функция и объемные графики в своих окнах.
Задача 6. В соответствии с полученным вариантом вывести объемные графики двумерной функции в подокнах общего окна.
Варианты заданий
№ |
Функция |
Пределы изменения |
|
x |
y |
||
1 |
z=sin(x)cos(y) |
от -2p до 2p |
от -2p до 2p |
2 |
z=sin(x/2)cos(y) |
от -2p до 2p |
от -2p до 2p |
3 |
z=sin(2x)cos(y) |
от -2p до 2p |
от -2p до 2p |
4 |
z = sin(x)cos(y/2) |
от -2p до 2p |
от -2p до 2p |
5 |
z = sin(x/2)cos(2y) |
от -2p до 2p |
от -2p до 2p |
6 |
z = sin(2x)cos(2y) |
от -2p до 2p |
от -2p до 2p |
7 |
z= (1+sin(x)/x)(sin(y)/y) |
от -2p до 2p |
от -2p до 2p |
8 |
z = (sin(x)/x)cos(y) |
от -2p до 2p |
от -2p до 2p |
9 |
z = (sin(x)/x)|cos(y)| |
от -2p до 2p |
от -2p до 2p |
10 |
z = (sin(x)/x)y |
от -2p до 2p |
от -2p до 2p |
11 |
z = (sin(x)/x)|y| |
от -2p до 2p |
от -2p до 2p |
12 |
z = (sin(x)/x)sin(y) |
от -2p до 2p |
от -2p до 2p |
13 |
z = (sin(x)/x)|sin(y)| |
от -2p до 2p |
от -2p до 2p |
14 |
z = (sin(x)/x)(1-y) |
от -2p до 2p |
от -2p до 2p |
15 |
z = (sin(x)/x)|y+0.5| |
от -2p до 2p |
от -2p до 2p |
Задача 7. В соответствии с полученным вариантом вывести объемные графики двумерной функции в своих окнах.
Кафедра информационной безопасности ВолГУ