|
- Тип данных - структуры
Структуры относятся к сложным типам данных. В предшествующих версиях MATLAB
они именовались записями, что приводило к конфликтам в терминологии MATLAB и систем
управления базами данных. Этот тип данных стал именоваться структурами после того,
как широкое распространение получили средства MATLAB для работы с базами данных
с использованием языка запросов Sequential Query Language (SQL).
-
Создание структур и доступ к их компонентам Для задания структур на языке
MATLAB можно использовать операторы присваивания, что иллюстрирует следующий пример
-
Функция создания структур struct('fieldl' .VALUES1, 'field2' .VALUES2,...)
— возвращает созданную данной функцией структуру, содержащую указанные в параметрах
поля 'fieldn' с их значениями ' VALUESn'. Значением может быть массив ячеек
-
Проверка имен полей и структур Выполнение операций с полями и элементами полей
выполняется по тем же правилам, что и при работе с обычными массивами.
-
Функция возврата имен полей
- Функция возврата
содержимого полей структуры В конечном счете работа со структурами сводится
к выводу и использованию содержимого полей. Для возврата содержимого поля структуры
S служит функция getfield
- Функция присваивания
значений полям Для присваивания полям заданных значений используется описанная
далее функция selfield
- Удаление полей Для
удаления полей структуры можно использовать следующую функцию
-
Применение массивов структур Массивы структур
находят самое широкое применение. Например, они используются для представления
цветных изображений. Известно, что цветные изображения формата RGB состоят из
массивов интенсивности трех цветов - красного R, зеленого G и синего В.
Массивы
ячеек - Создание массивов ячеек Массив
ячеек — наиболее сложный тип данных в системе MATLAB. Это массив, элементами
которого являются ячейки, содержащие любые типы массивов, включая массивы
ячеек. Отличительным атрибутом массивов ячеек является задание содержимого последних
в фигурных скобках {}. Создавать массивы ячеек можно с помощью оператора присваивания.
- Создание ячеек с помощью функции cell
-
Визуализация массивов ячеек Для отображения массива ячеек С служит функция
celldlsp(C). Она дает рекурсивное отображение содержимого массива ячеек С.
-
Создание строкового массива ячеек из массива символов Для создания из массива
символов S строкового массива ячеек может использоваться функция eellstr(S). Каждый
ряд массива символов превращается в отдельную ячейку.
-
Присваивание с помощью функции deal С помощью функции deal возможно множественное
присваивание входных данных выходным
- Тестирование
имен массивов ячеек При обработке сложных данных возникает необходимость
в преобразовании их типов. Ниже представлены такие функции, имеющие отношение
к массивам ячеек
- Функции преобразования типов
данных
- Многомерные массивы ячеек С
помощью функции cat можно формировать многомерные массивы ячеек. Например, трехмерный
массив С формируется следующим образом
- Вложенные
массивы ячеек Содержимым ячейки массива ячеек может быть, в свою очередь,
произвольный массив ячеек. Таким образом, возможно создание вложенных
массивов ячеек — пожалуй, самого сложного типа данных.
Численные методы - Элементарные
средства решения СЛУ
- Функции для решения
систем линейных уравнений с ограничениями Теперь рассмотрим функции, введенные
для решения систем линейных уравнений с ограничениями методом наименьших квадратов
- Решение СЛУ с разреженными матрицами —
хотя и не единственная, но несомненно одна из основных сфер применения аппарата
разреженных матриц, описанного в уроке 12. Ниже приведены функции, относящиеся
к этой области применения разреженных матриц.
-
Точное решение, метод наименьших квадратов и сопряженных градиентов lsqr(A,
В)—возвращает точное решение X СЛУ А*Х=В, если матрица последовательная, в противном
случае — возвращает решение, полученное итерационным методом наименьших квадратов.
-
Двунаправленный метод сопряженных градиентов Решение СЛУ с разреженной матрицей
возможно также известным двунаправленным методом сопряженных градиентов.
-
Устойчивый двунаправленный метод bicgstab(A.B) — возвращает решение X СЛУ
А*Х=В. А — квадратная матрица. Функция bi cgstab начинает итерации от начальной
оценки, по умолчанию представляющей собой вектор размером п, состоящий
из нулей. Итерации производятся либо до сходимости метода, либо до появления ошибки,
либо до достижения максимального числа итераций.
-
Метод сопряженных градиентов Итерационный метод сопряженных градиентов реализован
функцией peg: О рсд(А.В) — возвращает решение X СЛУ А*Х=В. Матрица А должна быть
квадратной, симметрической
- Квадратичный метод
сопряженных градиентов Квадратичный метод сопряженных градиентов реализуется
в системе MATLAB с помощью функции cgs
- Метод
минимизации обобщенной невязки Итерационный метод минимизации обобщенной невязки
также реализован в системе MATLAB. Для этого используется функция gmres
-
Квазиминимизация невязки - функция qmr
-
Вычисление нулей функции одной переменной
-
Минимизация функции одной переменной
- Минимизация
функции нескольких переменных
- Аппроксимация
производных
-
Численное интегрирование
- Работа с полиномами
-
Решение обыкновенных дифференциальных уравнений
-
Решатели ОДУ
- Использование решателей систем
ОДУ
- Описание системы ОДУ
-
Дескрипторная поддержка параметров решателя
-
Пакет Partial Differential Equations Toolbox
|