
- •Matlab в режиме прямых вычислений
- •Понятие о математическом выражении
- •Действительные и комплексные числа
- •Константы и системные переменные
- •Переменные и присваивание им значений
- •Операторы
- •Функции
- •Форматы вывода результата вычислений
- •Основные операции над матрицами
- •Задание векторов и матриц
- •Обращение к элементам матрицы
- •Суммирование элементов, транспонирование и диагонализация матрицы
- •Объединение малых матриц в большую
- •Удаление столбцов и строк матриц
- •Матричные и поэлементные вычисления
- •Графическая визуализация вычислений
- •Построение диаграмм и гистограмм
- •Построение графиков функций
- •Управление осями
- •Окна изображений
- •Подграфики
- •Основы трехмерной графики
- •Генерация сетки
- •Трехмерный график с аксонометрией
- •Сетчатый 3d-график с функциональной окраской
- •Сетчатый 3d-график с функциональной окраской и проекцией
- •Поверхностный 3d-график с функциональной окраской
- •Поверхностный 3d-график с функциональной окраской и освещением
- •Программирование в среде matlab
- •Управление потоками
- •Работа c м-файлами
- •Типы м-файлов. Файл-программы и файл-функции
- •Задания к лабораторной работе № 1
Удаление столбцов и строк матриц
Вы можете удалять строки и столбцы матрицы, используя просто пару квадратных скобок.
Удалим второй столбец матрицы А.
>>А(:,2)=[]
Эта операция изменит А следующим образом
А = |
|
|
|
|
16 |
3 |
13 |
|
5 |
10 |
8 |
|
9 |
6 |
12 |
|
4 |
15 |
1 |
Удалим вторую строку
>>А(2,:)=[]
А = |
|
|
|
|
16 |
3 |
13 |
|
9 |
6 |
12 |
|
4 |
15 |
1 |
Если вы удаляете один элемент матрицы, то результат уже не будет матрицей. Так использование одного индекса удаляет отдельный элемент или последовательность элементов и преобразует оставшиеся элементы в вектор-строку:
А(2:2:10) = []
выдаст результат
А= 16 9 3 6 13 12 1
Матричные и поэлементные вычисления
При работе с массивами и матрицами для выполнения поэлементных операций перед символом операции вводится точка "." (без кавычек) .
Пример:
>> a=[1 2 3] % Задаем массив из трех элементов
>>a*a % Пытаемся умножить массив сам на себя
Ответ системы – сообщение об ошибке:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Причина ошибки в том, что по умолчанию MATLAB пытается произвести матричное умножение.
Ответом на
>>a.*a
Будет
ans = 1 4 9
Выполните задание к разделу 3: (задание 1 на стр. 25).
Графическая визуализация вычислений
MATLAB имеет широкие возможности для графического изображения векторов и матриц, а также для создания комментариев и печати графики. Особое внимание в системе уделено трехмерной графике с функциональной окраской отображаемых фигур, имитацией различных световых эффектов и анимацией.
Построение диаграмм и гистограмм
Наглядным способом представления векторных и матричных данных являются диаграммы и гистограммы. Значение элемента вектора пропорционально высоте столбика диаграммы (в случае столбчатой диаграммы) или площади сектора диаграммы (для круговой). Гистограммы используются для получения информации о распределении данных по заданным интервалам.
Функция bar отображает вектор в виде столбчатой диаграммы.
bar {X,Y,W}
>> data = [1.2 1.7 2.2 2.4 2.5 1.3 1.1 0.5 0.4 0.1];
>> bar(data)
по горизонтальной оси откладывается номер элемента вектора, а по вертикальной – его значение. Аргументом функции bar может быть как вектор-строка, так и вектор-столбец.
Для отображения значений элементов векторов в зависимости не от номера, а, например, от времени, если в вектор записаны результаты измерений в некоторые моменты времени, функция bar вызывается с двумя аргументами:
>> time = [0.0 0.1 0.2 0.4 0.5 0.8 1.1 1.3];
>> data = [2.85 2.93 2.99 3.26 3.01 2.25 2.09 1.79];
>> bar(time, data) – важно, чтобы размеры data и time совпадали
Выбор ширины столбцов осуществляется заданием третьего аргумента (по умолчанию она равна 0.8). Если ширина равна 1, то диаграмма получается без промежутков между столбцами.
Если требуется оценить вклад каждого из элементов вектора в общую сумму его элементов, то удобно построить круговую диаграмму – pie.
>> data = [19.5 13.4 42.6 7.9];
>> pie(data)
Часто необходимо отодвинуть от круга диаграммы сектор, соответствующий некоторому элементу.
>> data = [19.5 13.4 42.6 7.9];
>> parts = [0 1 0 0];
>> pie(data, parts) - важно, чтобы размеры data и parts совпадали
Обработка данных включает вопрос о том, сколько данных попало в тот или иной интервал. Для получения наглядного представления о распределении данных служит функция hist.
>> data = randn(100000,1);
>> hist(data)