- •Федеральное агенство по образованию
- •1.Вывод списка пакетов расширения
- •Определение переменных, нечетких правил и функций принадлежности;
- •Интерактивный просмотр нечеткого логического вывода;
- •Современные методы: адаптивный нечеткий вывод с использованием нейронных сетей, нечеткая кластеризация;
- •Интерактивное динамическое моделирование в Simulink;
- •2. Пакеты анализа и синтеза систем управления
- •Проектирование регуляторов, оптимальных в равномерной и интегральной норме;
- •Оценка действительного и комплексного сингулярного параметра мю;
- •3. Пакеты идентификации систем
- •4. Дополнительные пакеты расширения matlab
- •5. Пакеты для обработки сигналов и изображений
- •Часть №2
- •Часть №3
- •1. Работа с матрицами Обращение к элементу матрицы
- •2. Операции и функции в matlab
- •3. Основные операции с массивами
- •4. Арифметические операторы
- •5. Операторы отношения
- •Действия над файлами
- •Поддерживаемые графические форматы
- •Форматы файлов и их краткое описание
- •4. Типы м-файлов
- •Задание и порядок выполнения работы
- •Решатели оду в matlab
- •Задание и порядок выполнения работы
- •Содержание отчЕтА
- •Вопросы для защиты лабораторной работы:
- •Список литературы
Часть №2
Структуры данных
Таблица №5
тип данных |
пример |
описание |
int8, uint8, int16, uint16, int32, uint32, int64, uint64 |
uint16(65000) |
Множество целых чисел со знаком и без знака. Требуют меньше объема памяти чем single или double. Все целочисленные за исключением int64 и uint64 могут быть использованы в математических операциях. |
single |
3 * 10^38 |
Множество чисел обычной точности. Требуют меньший объем памяти чем double, но имеют меньшую точность и диапазон. |
double |
3 * 10^300 5 + 6i |
Множество чисел удвоенной точности. Двумерные массивы могут быть разряженными. Является числовым типом в MATLAB по умолчанию. |
logical |
magic(4) > 10 |
Множество логических значений 1 или 0 для представления правды или лжи соответственно. Двумерные массивы могут быть разряженными. |
char |
'Hello' |
Множество символов. Последовательность представляющаяся в качестве вектора символов. Для множеств содержащих больше одной последовательности лучше использовать cellarrays. |
cell array |
a{1,1} = 12; a{1,2} = 'Red'; a{1,3} = magic(4); |
Множество индексированных ячеек, каждая допускает хранение массива различной величины и типа данных. |
structure |
a.day = 12; a.color = 'Red'; a.mat = magic(3); |
Множество символьно подобных структур. Каждая структура, имеющая названные поля, допускает хранение массива различной величины и типа данных. |
function handle |
@sin |
Указатель на функцию. Ты можешь передать функцию управления другим функциям. |
user class |
polynom([0 -2 -5]) |
Объекты конструированные из определяемого пользователем класса. |
Java class |
java.awt.Frame |
Обьекты конструированные из класса Java. |
Часть №3
1. Работа с матрицами
2. Операции и функции в MATLAB
3. Основные операции с массивами
4. Арифметические операторы
5. Операторы отношения
6. Специальные символы
1. Работа с матрицами Обращение к элементу матрицы
Обращение к элементу матрицы производится по естественному правилу, – в круглых скобках после имени матрицы даются индексы, которые должны быть положительными целыми числами. Например, А(2,1)означает элемент из второй строки первого столбца матрицыА. Для дальнейших примеров введем матрицу 2x2:
>> A=[1 2+5*i;4.6e-7 3];
Если в качестве индекса задать комплексное число с дробной вещественной частью, то MATLABвыведет предупреждение, отбросит мнимую составляющую, произведет округление дроби и попытается выполнить операцию:
>> A(3/2+4i)
Warning: Complex part of array subscript is ignored.
Warning: Subscript indices must be integer values.
ans =
4.6000e-007
Данный пример показывает, что числа хранятся по столбцам и при обращении к данному двумерному массиву элемент А(2)есть то же самое, что иА(2,1). Чтобы изменить элемент матрицы, ему нужно присвоить новое значение:
>> A(2,3)=sin(1) % Третий элемент второй строки
A =
1.0000 2.0000 + 5.0000i 0
0.0000 3.0000 0.8415
Заметим, что изначально матрица Асостояла из двух строк и столбцов. Расширение матрицы (добавление третьего элемента во вторую строку) не потребовало никаких дополнительных действий, при этом третий элемент в первой строке был обнулен автоматически.
Размер матрицы можно уточнить по команде size, а результат командыsizeможно использовать для организации новой матрицы. Например, нулевая матрица того же порядка, что и матрицаА,будет сформирована по команде:
>>A2=zeros(size(A)) A2 =
0 0 0
0 0 0
Для преобразования матрицы в матрицу с другим числом строк и столбцов служит команда reshape:
>> A3=reshape(A2,3,2)
A3 =
0 0
0 0
0 0
С помощью двоеточия легко выделить часть матрицы. Например, вектор из первых двух элементов третьего столбца матрицы Aзадаётся выражением:
>> A(1:2,3)
ans =
0
0.8415
Двоеточие само по себе означает строку или столбец целиком. Работа с индексами в MATLABочень удобна. Например, чтобы выделить несколько столбцов массива, достаточно организовать вектор из номеров столбцов. Это можно сделать явным перечислением, а можно указать нужный диапазон. Для выделения матрицы, составленной из нечетных столбцов матрицыА, используем команду:
>> A(:,1:2:3)
ans =
1.0000 0
0.0000 0.8415
Здесь конструкция 1:2:3означает изменение второго индекса от единицы до трех с шагом два. Двоеточие применяется также для замещения элементов матрицы. Следующая команда позволяет переставить первую и вторую строки матрицыА:
>> A([1,2],:)=A([2,1],:)
A =
0.0000 3.0000 0.8415
1.0000 2.0000 + 5.0000i 0
Здесь в качестве индекса выступают векторы [1,2]и[2.1].Для удаления элемента вектора достаточно присвоить ему пустой массив – пару квадратных скобок []. Чтобы вычеркнуть одну или несколько строк (столбцов) матрицы нужно указать диапазон удаляемых строк (столбцов) для одной размерности и поставить двоеточие для другой размерности. Например, для удаления двух последних столбцов матрицыАдостаточно ввести команду:
>>A(:,2:end)=[] A= 0.0000 1.0000