- •Учебное пособие
- •Казань – 2007
- •Содержание Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- •Часть 1. Основные сведения о системе matlab.
- •Часть 2. Обзор расширений matlab
- •Введение.
- •Часть 1. Основные сведения о системе matlab.
- •Операции с рабочей областью.
- •3. Переменные и функции системы matlab.
- •Формирование векторов и матриц.
- •Создание и отладка программных файлов.
- •Работа с файлами.
- •Средства создания баз данных.
- •8. Графика, анимация.
- •Графический интерфейс пользователя (gui).
- •Сообщения об ошибках, справочная система matlab.
- •Интерфейс системы matlab.
- •Часть 2. Обзор расширений matlab.
- •Пакеты математических вычислений.
- •Пакеты для обработки сигналов и изображений.
- •Пакеты анализа и синтеза систем управления.
- •Некоторые другие пакеты.
- •Часть 3. Примеры расчетов, задания для практических занятий.
- •Тема 1. Работа в режиме прямых вычислений.
- •Тема 2. Программирование, работа с файлами.
- •Тема 3. Вычисление корней полинома и нулей функции.
- •Тема 4. Работа с матрицами, системы линейных алгебраических уравнений.
- •Тема 5. Численное дифференцирование и интегрирование.
- •Тема 6. Численное решение дифференциальных уравнений.
- •Тема 7. Использование прикладных пакетов.
- •Тема 8. Структуры.
- •Тема 9. Графика.
- •Тема 10. Графический интерфейс пользователя (gui).
- •Приложение. Основные команды ядра системы matlab.
- •Литература
Формирование векторов и матриц.
Если надо задать вектор из n элементов, то их значения следует перечислить в квадратных скобках через пробел или через запятую, например:
>> B=[2 –3 4 6];
При задании матрицы используется символ ; (точка с запятой) для разграничения строк:
>> A=[1 3; 0 –.3];
Можно вводить элементы векторов и матриц в виде арифметических выражений, содержащих доступные системе функции. Элементы матриц могут быть комплексными. Для указания отдельного элемента используется выражение вида B(k) или A(m,n), например:
>> A(1,2)
ans=3
Выражение A(k) дает доступ к элементам матрицы, развернутым в один столбец:
>> A(4)
ans=-0.3
Индекс k может быть логическим выражением:
>> A(A>0)
ans= 1 3
В качестве индекса может быть вектор. Например, запись A([1,2],2) обозначает первый и второй элементы второго столбца. Для указания на m-ю строку или n-й столбец матрицы используются выражения вида A(m,:) или A(:,n). Запись A(k:m;n) обозначает вектор-столбец, сформированный из нескольких элементов n-го столбца матрицы A (с k по m-й).
Имеется ряд функций для задания особых векторов и матриц, например magic(n) (матрица размером nхn, у которой сумма строк, сумма столбцов и сумма диагоналей одинаковы), hadamard(n) (матрица Адамара), hilb(n) (матрица Гильберта), zeros(m,...,q) (многомерный массив из нулей), ones(m,...,q) (массив из единиц), rand(m,...,q) (массив из случайных чисел), eye(n) (единичная матрица), rempat(A,m,n) (m*n дублей матрицы A, m вниз, n вправо), linespace(a,b,n) (вектор-строка из n чисел, равномерно расположенных на отрезке [a,b], по умолчанию n=100), logspace(a,b,n) (узлы логарифмической сетки по десятичному логарифму, по умолчанию n=50) и др.
Элементами матрицы могут быть вектора и матрицы, что позволяет формировать большие матрицы, объединяя малые. Для удаления строк или столбцов удобно использовать пустые квадратные скобки [ ]:
>> A(1,:)=[ ]
A= 0 –0.3
Основную информацию о векторах и матрицах можно получить с помощью функций size(A) (вектор-строка с размерами матрицы A), length(B) (число компонентов вектора B), ndims(X) (размерность массива Х), disp(X) (массив Х без его имени), isempty(X) (=1, если X=[]), isequal(X,Y) (=1, если X=Y), isnumeric(X) (=1, если Х – числовая переменная), islogical(X) (=1, если Х – логическая переменная).
При формировании матриц можно использовать следующие функции:
reshape(X,m,n,) – формирует матрицу m*n из элементов массива Х;
diag(A,k) – формирует вектор-столбец из k-й диагонали А, по умолчанию – из главной;
tril(A) – формирует нижнюю треугольную матрицу для А;
triu(A) – формирует верхнюю треугольную матрицу для А;
fliplr(А) – меняет на обратный порядок столбцов;
flipud(А) – меняет на обратный порядок строк;
rot90(А,k) – поворачивает А на 90 градусов k раз;
find – определяет индексы ненулевых элементов;
end – на месте индекса задает его последнее значение.
Определитель квадратной матрицы вычисляется с помощью функции det(A). Для вычисления обратной матрицы методом Гаусса-Жордана используется функция inv(A).
