Лекция 1 мат. пакет Matlab

Содержание

Слайд 2

*

MATLAB- это уникальная коллекция реализаций современных численных методов компьютерной математики.
Вычисления, визуализация, программирование

Возможности

* MATLAB- это уникальная коллекция реализаций современных численных методов компьютерной математики. Вычисления,
системы МатЛаб

Слайд 3

MATLAB - уникальная коллекция реализаций современных вычислительных методов
матричные и логические операторы
элементарные и

MATLAB - уникальная коллекция реализаций современных вычислительных методов матричные и логические операторы
специальные функции
полиномиальная арифметика
многомерные массивы, массивы записей и ячеек
дифференциальные уравнения
вычисление квадратур
поиск корней нелинейных алгебраических уравнений
оптимизация функций нескольких переменных
одномерная и многомерная интерполяция
аналитические расчёты
и многое другое

Слайд 4

В области визуализации и графики:
возможность создания двумерных и трехмерных графиков
осуществление визуального

В области визуализации и графики: возможность создания двумерных и трехмерных графиков осуществление
анализа данных
В области программирования:
интерактивная среда программирования
язык программирования, близкий к обычной математической нотации
свыше 1000 встроенных математических функций
работа с текстовыми и двоичными файлами
применение программ, написанных на Си, C++, ФОРТРАН и JAVA
Средство построения графического интерфейса пользователя (GUI)
облегчает взаимодействие пользователя с системой

Возможности системы MATLAB

Слайд 5

Список рекомендуемой литературы :

Мартынов Н.Н. Matlab 7. Элементарное введение. -М:КУДИЦ-ОБРАЗ,2005.-416с

Список рекомендуемой литературы : Мартынов Н.Н. Matlab 7. Элементарное введение. -М:КУДИЦ-ОБРАЗ,2005.-416с

Слайд 6

Список рекомендуемой литературы :

Юлий Кетков, Александр Кетков, Михаил Шульц
Matlab 7. Программирование,

Список рекомендуемой литературы : Юлий Кетков, Александр Кетков, Михаил Шульц Matlab 7.
численные методы. -БХВ-Петербург, СПб ,2005.-742 с

Слайд 7

Основной интерфейс MATLAB

Окно команд

Рабочая область

История команд

Текущая папка

Выбор текущей папки

Основной интерфейс MATLAB Окно команд Рабочая область История команд Текущая папка Выбор текущей папки

Слайд 8

Главное меню
Создать новый файл
Открыть файл МАТЛАБ
Сохранить рабочую область как файл типа .mat
Предпочтения

Главное меню Создать новый файл Открыть файл МАТЛАБ Сохранить рабочую область как
для интерфейсов МАТЛАБ (установка шрифтов, цветов и много другого)

Слайд 9

Настройка вида рабочего стола

Меню Desktop
Команды управления схемой рабочего стола, задаётся количество и

Настройка вида рабочего стола Меню Desktop Команды управления схемой рабочего стола, задаётся
расположение окон.
По умолчанию
Только окно команд
Окно команд и история

Слайд 10

По умолчанию

По умолчанию

Слайд 11

В системе МАТЛАБ можно
производить арифметические операции с
действительными и комплексными числами,

В системе МАТЛАБ можно производить арифметические операции с действительными и комплексными числами,
векторами и матрицами,
вычислять функции,
работать с полиномами и рядами,
строить графики различных функций
причём, непосредственно в интерактивном режиме, т.е. без подготовки программы

Работа в окне команд (режим калькулятора)

Слайд 12

Работа в окне команд

Работа в окне команд

Слайд 13

Работа в окне команд

Работа в окне команд

Слайд 14

Понятие M-файла

Способы повторного ввода команд:
1. Использовать окно Command History
2. Применить m-файл
m-файл

Понятие M-файла Способы повторного ввода команд: 1. Использовать окно Command History 2.
может содержать команды, а также управляющие
структуры языка MatLab.
Вызов такого файла осуществляется заданием его имени.
Имя этого файла должно иметь расширение m.
Это текстовый файл – можно создавать и редактировать
в любом текстовом редакторе (предпочтительнее – во
встроенном редакторе MatLab).
m-файлы подразделяются на 2 типа:
сценарии (script)
функции (function)

Слайд 15

M-файл (сценарий)

Содержит серию команд, которые выполняются в режиме интерпретации построчно.
Если в

M-файл (сценарий) Содержит серию команд, которые выполняются в режиме интерпретации построчно. Если
команде имеется ошибка, она не обрабатывается, и система переходит в режим ожидания.
Сценарий работает только с переменными, расположенными в рабочей области MatLab.
М-функция
Отличие от сценария:
Функция может компилироваться целиком с последующим размещением исполняемого кода в памяти
Функция может иметь локальные переменные, размещаемые в собственной рабочей области
В функции могут быть входные и выходные параметры

Слайд 16

Команды управления окном

clc – очистки окна;
who – вывод имен активных переменных;
clear

Команды управления окном clc – очистки окна; who – вывод имен активных
– удаление всех переменных;
clear a – удаление переменной a;
File->Save Workspace as… - сохранение в
файле на диске содержимого рабочего
пространства. Расширение файла mat.
File ->Load Workspace ->указание mat-файла для загрузки

Слайд 17

Действительные и комплексные числа

-68
3.4567
7.13e13 – означает 7.13*1013
1.7977е+308 – максимальное число realmax
2.2251e-308 –

Действительные и комплексные числа -68 3.4567 7.13e13 – означает 7.13*1013 1.7977е+308 –
минимальное число realmin
Inf для обозначения ∞
-Inf для обозначения -∞
NaN – не число ( при делении 0/0)
2+3i
-6.789+0.834e-2*i
4-2j;

Слайд 18

Форматы

format short – 4 цифры после точки (по умолчанию)
format long – 15

Форматы format short – 4 цифры после точки (по умолчанию) format long
цифр после десятичной точки
format short e – короткое с плавающей точкой
format long e – длинное с плавающей точкой
format long g –выбирается наиболее удачное
format short g (с плавающей точкой или с фиксированной)
format rat – формат для вывода рациональных чисел
format bank – денежный формат (2 цифры после точки)
format loose – обычный стиль вывода в окне команд
format compact – компактный стиль вывода данных

Слайд 19

disp (‘Результаты расчета')

Вывод комментария на экран

Вывод значения а с точностью до 3

disp (‘Результаты расчета') Вывод комментария на экран Вывод значения а с точностью
значащих цифр

vpa(а,3)

Знак точка с запятой в конце ввода предотвращает вывод результата на экран;

Слайд 20

Арифметические операторы

Основные: + - * / ^
Обратное деление \ - справа налево
Поэлементные:

Арифметические операторы Основные: + - * / ^ Обратное деление \ -
.* ./ .^ .\
Операторы отношения
< > >= <= == ~=
Для комплексных чисел сравниваются только действительные части
Логические операторы
& — И | — ИЛИ ~ — НЕ

Слайд 21

В математических выражениях операторы имеют определенный приоритет исполнения.
Например, в MATLAB приоритет

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

Слайд 22

Элементарные алгебраические функции

Элементарные алгебраические функции

Слайд 23

Тригонометрическиe функции

Тригонометрическиe функции

Слайд 24

Результат вычислений присваивается переменной
>> x=2-3^2
x =
-7
>> x1=5*x
x1 =
-35
>> 1+1/2*4
ans = ans

Результат вычислений присваивается переменной >> x=2-3^2 x = -7 >> x1=5*x x1
– имя переменной по умолчанию
3
Имя переменной – любая последовательность латинских букв и цифр, начинающаяся с буквы
В системе есть зарезервированные имена:
i, j, pi, имена стандартных функций и пр.
>> a=2; точка с запятой в конце строки
>> отменяет вывод результатов

Переменные

Слайд 25

Основной объект в системе Matlab — это матрицы, или массивы. Даже скалярные

Основной объект в системе Matlab — это матрицы, или массивы. Даже скалярные
величины, рассматриваются системой как матрицы 1 × 1.
Вектор (одномерный массив) представляет собой строку, т. е. матрицу размера 1×n, или столбец, т. е. матрицу размера m×1.
MatLab различает строчные и прописные буквы.
Количество воспринимаемых в MatLab символов в имени переменной составляет 31.

Слайд 26

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

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

Элементы векторов-строк разделяются символами «,» (запятая) или « » (пробел).
Элементы векторов-столбцов разделяются символом «;» (точка с запятой) или символом перехода на новую строку.

Слайд 27

Одномерные массивы

Задание массива:
a = [ -3 4 2];
a = [ -3, 4,

Одномерные массивы Задание массива: a = [ -3 4 2]; a =
2];
Диапазоны:
b = -3: 2 (b = -3 -2 -1 0 1 2)
b = -3:2:5 (b = -3 -1 1 3 5)
Доступ к элементу:
a(3) (будет равно 2)
Изменение элемента:
a(3) = 1
Количество элементов в массиве: length(a) (будет равно 3)

Нумерация элементов начинается с 1
Добавление элементов в массив
a(4) = 5;
a = [a 5]
Конкатенация массивов:
c = [a b]
Удаление массива (превращение в пустой массив)
a = [ ]

Слайд 28

Двумерные массивы

Задание массива:
a = [ 1 2; 3 4; 5 6];

Доступ к

Двумерные массивы Задание массива: a = [ 1 2; 3 4; 5 6]; Доступ к элементу:
элементу:

Слайд 29

Диапазоны

Функция magic(n) задает магическую матрицу nxn все ее элементы не превышают n2
Можно

Диапазоны Функция magic(n) задает магическую матрицу nxn все ее элементы не превышают
использовать как для задания значений векторов, так и для задания диапазонов индексации

Слайд 30

 

for i=1:3
for j=1:3
if j>i – 1
a(i,j)=0.893+exp(2*j);
else a(i,j)=2.914-sin(j*pi/i-i);
end

for i=1:3 for j=1:3 if j>i – 1 a(i,j)=0.893+exp(2*j); else a(i,j)=2.914-sin(j*pi/i-i); end end end
end
end

Слайд 31

Создание массивов со случайными элементами

rand(n) и rand(m,n) генерируют матрицу (nxn) или (mxn)

Создание массивов со случайными элементами rand(n) и rand(m,n) генерируют матрицу (nxn) или
с элементами, распределенными по равномерному закону в промежутке (0,1)

randi([a,b],n,m) генерируют матрицу (n x m) с элементами в промежутке (a,b)

Слайд 32

Диапазоны

Диапазоны

Слайд 33

Удаление строк и столбцов

Удаление строк и столбцов

Слайд 34

Перестановка элементов

Перестановка элементов

Слайд 35

Операции над матрицами

a+b сложение скаляров, векторов или матриц
a−b вычитание скаляров, векторов или

Операции над матрицами a+b сложение скаляров, векторов или матриц a−b вычитание скаляров,
матриц
a*b умножение скаляров; матричное умножение
a.*b покомпонентное умножение элементов матриц
a^b возведение скаляра или матрицы в степень
a.^b возведение каждого элемента матрицы в степень
a/b деление скаляров;правое деление матриц, a · b−1
a./b покомпонентное деление элементов матриц
a\b левое деление матриц, т. е. a−1 · b
A’ транспонирование матрицы

Слайд 36

Операции над матрицами

Функция length(V) рассчитывает количество элементов в векторе V.
Функция max(V) выдает

Операции над матрицами Функция length(V) рассчитывает количество элементов в векторе V. Функция
значение максимального по значению элемента вектора V.
Функция min(V) извлекает минимальный элемент вектора V.
Функции mean(V) и std(V) определяют, соответственно, среднее значение и среднеквадратическое отклонение вектора V.

Слайд 37

Операции над матрицами

Функция сортировки sort(V) формирует вектор, элементы которого распределены в порядке

Операции над матрицами Функция сортировки sort(V) формирует вектор, элементы которого распределены в
возрастания их значений.
Функция sum(V) вычисляет сумму элементов вектора V.
Функция prod(V) выдает произведение всех элементов вектора V.
Функция cumsum(V) формирует вектор того же типа и размера, любой элемент которого является суммой всех предыдущих элементов вектора V (вектор кумулятивной суммы).

Слайд 38

Операции над матрицами

abs(A) - модуль
det(A) - определитель матрицы
inv(A) - обратная матрица
diag(A) -

Операции над матрицами abs(A) - модуль det(A) - определитель матрицы inv(A) -
главная диагональ матрицы
sum(A) - сумма по столбцам (sum(A,1))
sum(A,2) - сумма по строкам
sum(diag(A)) - след матрицы
trace(A) - след матрицы
S=sum(sum(A)) - сумма матрицы

Слайд 39

Операции над матрицами

prod(A,1) - произведение элементов массива в столбцах (по умолчанию prod(A))

Операции над матрицами prod(A,1) - произведение элементов массива в столбцах (по умолчанию

prod(A,2) - произведение элементов массива в строках
sum(A') - сумма столбцов транспонированной матрицы

Слайд 40

Операции над матрицами

sort(A) - сортировка по столбцам по возрастанию
sort(A,2) -сортировка по строкам

Операции над матрицами sort(A) - сортировка по столбцам по возрастанию sort(A,2) -сортировка
по возрастанию 
sort(A,’descend’) - сортировка по столбцам по убыванию
-sort(-A,2) - сортировка по строкам по убыванию

Слайд 41

Операции над матрицами

[b2,INDEX]=sort(b) - возвращает отсортированный массив и массив индексов элементов в

Операции над матрицами [b2,INDEX]=sort(b) - возвращает отсортированный массив и массив индексов элементов
исходном массиве
size(A) - размерность матрицы
max(A) - возвращает наибольший элемент, если А –вектор, или возвращает вектор-строку, содержащую максимальные элементы каждого столбца, если А -матрица
 max(A,[ ],n) - возвращает наибольший элемент по столбцам при n=1, по строкам при n=2
min(A,[ ],n) - возвращает наименьший элемент по столбцам при n=1, по строкам при n=2

Слайд 42

Дневник работы

Команда diary <имя файла>
открывает дневник, т.е. указывает системе, что все, что

Дневник работы Команда diary открывает дневник, т.е. указывает системе, что все, что
появится после этой команды на экране до следующей команды diary будет записано в упомянутый текстовый файл.
Прерывает запись в дневник команда открытия нового дневника или команда
diary off

Слайд 43

Решение системы линейных уравнений.

В матричном виде система имеет вид
Ах =b,
A ,

Решение системы линейных уравнений. В матричном виде система имеет вид Ах =b,
b , х – матрицы из коэффициентов при незвестных и вектор-столбцы, составленные соответственно из свободных членов и из неизвестных.

Слайд 45

Решение системы линейных уравнений

>> d=det(a)
d =
-5
>> x=А\b
x =
1
-1
2

Решение системы линейных уравнений >> d=det(a) d = -5 >> x=А\b x = 1 -1 2

Слайд 46

Решение системы линейных уравнений

Решение x1=1, x2=-1, x3=2 легко проверить подстановкой в систему

Решение системы линейных уравнений Решение x1=1, x2=-1, x3=2 легко проверить подстановкой в
уравнений:
>> disp(A*x)
-2.0000
10.0000
-9.0000
В результате получен вектор-столбец свободных членов. Система решена верно.