Слайд 1Весна 2020
Пакет Matlab. Лекция 1
Общий вид рабочего окна в пакете
Matlab
(начальный вид)
Слайд 2Весна 2020
Пакет Matlab. Лекция 1
Общий вид рабочего окна в пакете
Matlab
( рабочий вид)
Слайд 3Весна 2020
Пакет Matlab. Лекция 1
Настройка путей
Лента– Set Path – выбрать
свою рабочую папку
Имя папки
должно содержать буквы
только
английского алфавита!!!!!
Путь
до рабочего стола в системе всегда записывается
по-английски, вне зависимости от того, что видит пользователь.
Слайд 4Весна 2020
Пакет Matlab. Лекция 1
Типы компоновки команд
Команды в командной строке
– однократное выполнение, возможен повторный вызов из истории команд (>>)
Сценарий – набор команд, записанных в файл, но не объединенных общим именем. Запуск на выполнение осуществляется из файла вручную. Возможно выполнение части сценария
Функция – набор команд, записанных в файл, объединенных общим именем, может иметь входные/выходные параметры. Запуск на выполнение осуществляется по имени из любого места Matlab (командной строки, сценария, другой функции)
Слайд 5Весна 2020
Пакет Matlab. Лекция 1
Написание .m-файлов
Сценарий и функция записываются в
файле с расширением «.m».
Это обычный текстовый файл, который может
быть набран в любом текстовом редакторе (от блокнота до word’а), но сохранен должен быть как текст в формате txt!!!
Так же возможен набор из редактора М-файлов в самом пакете Matlab.
Слайд 6Весна 2020
Пакет Matlab. Лекция 1
Основы написания .m-файлов
Присвоение значения
осуществляется знаком
«=».
В редакторе для .m-файлов набрать:
Х=3.25*0.75
Выделить запись и нажать правую кнопку
мыши. Выбрать пункт Evaluate Section (первый в списке)
В командном окне появится запись:
Х =
2.4375
Слайд 7Весна 2020
Пакет Matlab. Лекция 1
Основные типы переменных
Переменная обретает тип при
присвоении!
Целочисленные: 1,2,3,-5,-8…
Действительные: 1.25, 3.15,-7.234….
Комплексные: 1+2i, 3-4.75i….
Вектора: (1 2 3
4)….
Матрицы: (1 2 3
5 6 7
15 24 13)
Строки:'This is string’
Слайд 8Весна 2020
Пакет Matlab. Лекция 1
При названии переменных необходимо избегать ситуаций,
когда имя переменной совпадает с поименованной константой, например, pi.
Для проверки
можно использовать команду:
which придуманное имя переменной
Комментарий - 1
Слайд 9Весна 2020
Пакет Matlab. Лекция 1
Основные математические функции - 1
Слайд 10Весна 2020
Пакет Matlab. Лекция 1
Основные математические функции - 2
Слайд 11Весна 2020
Пакет Matlab. Лекция 1
Функций для элементарных математических вычислений намного
больше, чем приведено в таблицах. Посмотреть их все можно в
Help.
При выборе имени для собственных функций желательно избегать ситуаций, когда имя функции совпадает с поименованной константой или с уже имеющейся функцией.
Комментарий - 2
Слайд 12Весна 2020
Пакет Matlab. Лекция 1
При выборе имени для переменной или
функции
недопустимо
совпадение имени переменной или функции с ключевым словом
Matlab.
Для проверки можно использовать команду:
iskeyword (‘придуманное имя переменной’ )
Комментарий - 3
результат 0, имя не является ключевым словом
результат 1, имя является ключевым словом
Слайд 13Весна 2020
Пакет Matlab. Лекция 1
Чтобы проверить корректность выбора имени возможно
использовать функцию:
isvarname(s),
возвращающую 0 если имя недопустимо и 1, если выбранное
имя допустимо в Matlab
Комментарий - 4
результат 1, сочетание символов допустимо для имени переменной/функции
результат 0, сочетание символов не допустимо для имени переменной/функции
Слайд 14Весна 2020
Пакет Matlab. Лекция 1
Задача для вычисления
Пусть необходимо вычислить
выражения
при заданных значениях переменных величин: х=0,5 и у=0,2
Слайд 15Весна 2020
Пакет Matlab. Лекция 1
Пример вычисления 1
Продолжение формулы на следующей
строке
Слайд 16Весна 2020
Пакет Matlab. Лекция 1
Пример вычисления 2
«немая строка» - результат
вычислений не выводится в командную строку
Слайд 17Весна 2020
Пакет Matlab. Лекция 1
Посмотреть значение любой переменной можно с
помощью функции:
disp(имя переменной)
В качестве результата можно получить как ожидаемое
значение, так и ответ в виде:
NaN – не число (Not A Number), например при попытке деления на 0
Inf – ∞ при превышении наибольшего положительного числа (1.798 е+308)
Комментарий - 5
Слайд 18Весна 2020
Пакет Matlab. Лекция 1
Вектор-строки и вектор-столбцы
Все в Matlab –
матрицы! Индексация начинается с 1 !!!
Слайд 19Весна 2020
Пакет Matlab. Лекция 1
Вектор значений аргумента
Запись :
х
= -1:0.5:2;
создает вектор значений отличающихся друг от друга на
постоянный шаг. Разделителем в данном случае является «:».
Первое значение – значение 1-го элемента вектора
Второе значение – шаг
Третье значение – значение последнего элемента вектора
Результат – вектор-строка
>>x
х=
-1 -0.5 0 0.5 1 1.5 2
Слайд 20Весна 2020
Пакет Matlab. Лекция 1
Особенности задания вектора значений аргумента
Шаг можно
опустить, если он равен 1 : х = -1:5;
Результат
>>x
х=
-1 0 1 2 3 4 5
Шаг может быть отрицательный (следить, чтобы начальное значение было не меньше конечного!):
х = 4:-2:-10;
Результат
>>x
х=
4 2 0 -2 -4 -6 -8 -10
Слайд 21Весна 2020
Пакет Matlab. Лекция 1
Вектор значений функции
Запись :
f = sin(x);
Создает вектор значений по имеющемуся вектору х:
>>f
f=
-0.874 -0.479 0
0.479 0.874 0.997 0.909
Слайд 22Весна 2020
Пакет Matlab. Лекция 1
Ошибка при вычислении вектора значений функции
Если
вычислять более сложные зависимости :
f = х*sin(x)+х^2; ( запись для
функции f=x∙sin(x)+x2)
то, в соответствии с правилами матричного умножения, возникает ситуация умножения строки х на строку sin(x), что недопустимо!
В таких случаях необходимо перед операциями +, -,*,/ ставить «.», которая означает покомпонентное выполнение операции.
Слайд 23Весна 2020
Пакет Matlab. Лекция 1
Корректный способ вычисления вектора значений функции
При
использовании покомпонетного вычисления:
f = х.*sin(x)+х.^2;
Создается вектор значений
по имеющемуся вектору х:
>>f
f=
1.841 0.49 0 0.49 1.849 3.746 5.819
Слайд 24Весна 2020
Пакет Matlab. Лекция 1
Графики
Для вывода графика в новом окне
необходимо выполнить команду:
рlot(x,f)
Слайд 25Весна 2020
Пакет Matlab. Лекция 1
Построение более одного графика
Если необходимо на
одном графике вывести сразу несколько кривых, то пары (аргумент-функция) указываются
через запятую.
х1 = 0:0.1:2*pi;
х2 = 0:0.1:2*pi;
f = sin(x1)+х1.^0.5;
g = х2.*sin(x2)+х2.^2;
рlot(x1,f, x2,g)
Слайд 26Весна 2020
Пакет Matlab. Лекция 1
Построение графиков функций заданных параметрически
Если функция
задана параметрически, то строятся обе зависимости от параметра и уже
они выводятся на график.
t = 0:0.1:2*pi;
x= cos(t).^3;
y = sin(t).^3;
рlot(x,y)
Слайд 27Весна 2020
Пакет Matlab. Лекция 1
Задание типа линий для кривой
Тип линии,
цвет, маркер задаются опционально в команде plot как строковый аргумент.
Строковый аргумент – строка, заключенная в апострофы:
‘это строковый аргумент’
х = 0:0.1:2*pi;
f = sin(x)+х.^0.5;
g = х.*sin(x)+х.^2;
рlot(x,f,’ro:’ , x,g,’bd-’)
График первой функции будет нарисован красной пунктирной линией с круглыми маркерами.
График второй функции будет нарисован синей сплошной линией с ромбовидными маркерами.
Слайд 28Весна 2020
Пакет Matlab. Лекция 1
Задание типа линий для кривой
(пример)
Слайд 29Весна 2020
Пакет Matlab. Лекция 1
Сокращения для задания цвета линии
Слайд 30Весна 2020
Пакет Matlab. Лекция 1
Сокращения для задания цвета линии через
свойство ‘Color’
Слайд 31Весна 2020
Пакет Matlab. Лекция 1
Сокращения для задания типа линии
Слайд 32Весна 2020
Пакет Matlab. Лекция 1
Сокращения для задания маркера линии
Слайд 33Весна 2020
Пакет Matlab. Лекция 1
Опции для оформления надписей
Слайд 34Весна 2020
Пакет Matlab. Лекция 1
Опции для оформления символов
Слайд 35Весна 2020
Пакет Matlab. Лекция 1
Функции для оформления графика
Слайд 36Весна 2020
Пакет Matlab. Лекция 1
Задание легенды
legend({‘кривая 1’, ‘кривая 2’,…, ‘кривая
N’,} 'Location',lcn)
Строковых переменных с описанием кривых должно быть столько же
сколько кривых на графике!
Дополнительные варианты расположения смотрите в Help
Слайд 37Весна 2020
Пакет Matlab. Лекция 1
Оформление графика из сценария
x =
0:0.1:2*pi;
x1 = 0:0.5:2*pi;
f = sin(x)+x.^0.5;
g = x1.*sin(x1)+x1.^2;
figure;
plot(x,f,'ro:'
, x1,g,'bd-')
grid on
title('Design example')
xlabel('X axis')
ylabel('Function value')
legend({'sin(x)+x^{0.5}','x*sin(x)+x^2'},'Location','northwest');
- на первом месте, потом все настройки!!!
Слайд 38Весна 2020
Пакет Matlab. Лекция 1
Оформление графика из сценария
(пример)
Слайд 39Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными осями ординат
Если
необходимо сравнить качественное поведение двух графиков, имеющих существенно разные масштабы,
то можно создать график с двумя осями.
х = 0:0.1:2*pi;
f = sin(x);
g = х.*sin(x)+х.^4;
рlotyy(x,f, x,g)
Ось абсцисс будет общая, оси ординат – различны! В последних версиях изменить характеристики линий в данной функции нельзя!
Слайд 40Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными осями ординат
(пример)
Слайд 41Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными осями в
одном окне
1. Создаем фигуру, в которой будем рисовать
figure;
2. Дать команду
удерживать все графики на фигуре
hold on;
3. Создать первую зону для графика , она активна в момент создания
subplot(2,1,1);
% аргумент 1 – на сколько подокон разбиваем по горизонтали
% аргумент 2 – на сколько подокон разбиваем по вертикали
% аргумент 3– номер подокна в которых чертится график
Слайд 42Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными осями в
одном окне
х = 0:0.05:2*pi; % аргумент функций
f = sin(x);
% вычислили вектор значений для функции f
figure; %создали новую фигуру
hold on; % удерживаем все, что в ней будем рисовать
subplot(2,1,1); % создать первую зону для графика, она активна в момент создания
plot(x,f) % построили график в первой паре осей
g =sin(x.^2); % вычислили вектор значений для функции g
subplot(2,1,2); % создать вторую зону для графика, она активна в момент создания
plot(x,g) % построили график во второй паре осей
Все команды для построения графиков – применимы, относятся к последнему (активному) подокну!
Слайд 43Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными
осями в одном
окне
Слайд 44Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными осями в
одном окне
x = 0:0.1:2*pi;
x1 = 0:0.5:2*pi;
f = sin(x)+x.^0.5;
g =
x1.*sin(x1)+x1.^2;
figure;
hold on;
subplot(2,1,1);
plot(x,f);
grid on;
title('Design example -1st window');
Слайд 45Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными осями в
одном окне
xlabel('axis X');
ylabel('Function f');
legend({'sin(x)+x^{0.5}'},'Location','northwest');
subplot(2,1,2);
plot(x1,g,'r-')
grid on;
title('Design example - 2^{nd} window');
xlabel('axis X1');
ylabel('Function
g');
legend({'x*sin(x)+x^2'},'Location','best');
Слайд 46Весна 2020
Пакет Matlab. Лекция 1
Несколько графиков с разными
осями в одном
окне