Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab.doc
Скачиваний:
59
Добавлен:
24.08.2019
Размер:
2 Мб
Скачать
☆
  1. Формирование векторов и матриц.

Если надо задать вектор из 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).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]