Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Основные матричные операции



Для выполнения операций над массивами в Matlab служат арифметические операции, перечень которых приведен ниже.

Функция (имя) Оператор (символ) Синтаксис Выполняемое действие
plus + А1+А2 Поэлементное сложение
minus - А1 – А2 Поэлементное вычитание
times .* А1.* А2 Поэлементное умножение
rdivide . / А1./А2 Поэлементное деление массивов слева направо
ldivide .\ А1.\А2 Поэлементное деление массивов справа налево
power .^ A.^x Поэлементное возведение массива в степень

При записи инструкций можно применять как символьные операторы арифметических операций, так и функции.

Пример 3-5. Требуется умножить элементы массива размерностью 2 х 2 на число 3.

Решение задачи выполним двумя способами – используя оператор.*, и с помощью функции times. Решение приведено ниже:

Инструкция Результаты вычислений
% инструкция с символьным оператором >> А=[1 2 3; 1 2 3]; >> В=z.*2 % инструкция, использующая функцию >> A=[1 2 3; 1 2 3]; >>B=times(A,2)   B = 2 4 6 2 4 6

Для работы с векторами и матрицами в Matlab существуют специальные функции.

Функция Описание
Функции операций над векторами
length(U) Определяет длину вектора U
sum(U) Вычисляет сумму элементов вектора U
min(U) Находит минимальный элемент вектора U, вызов в формате [m, n] =min(U) дает возможность определить минимальный элемент m и его номер n в массиве U
max(U) Находит максимальный элемент вектора U, вызов в формате [m, n] =max(U) дает возможность определить максимальный элемент m и его номер n в массиве U
dot(u1,u2) Вычисляет скалярное произведение векторов u1 и u2
Функции операций над матрицами
eye(n[,m]) Возвращает единичную матрицу указанной размерности
size(A) Определяет размерность матрицы А, результатом является вектор [n;m]
det(A) Вычисляет определитель квадратной матрицы А
trace(A) Вычисляет сумму элементов главной диагонали
inv(A) Возвращает матрицу, обратную А
linsolve(A,b) Возвращает решение системы линейных уравнений А×x = b

Рассмотрим использование некоторых функций на примерах:

Инструкция Результаты вычислений
>>% определим длину вектора U >> U=[2 4 6 1 8 3 9]; >> length(U)   ans =
>>% вычислим сумму элементов вектора U >> sum(U) ans =
>>% найдем минимальный элемент (m) вектора U и определим его номер (n) в массиве U >> [m, n] =min(U) m = n =
>>% вычислим скалярное произведение векторов u1 и u2 >> u1=[1 2 1 2]; >> u2=[2 1 2 1]; >> dot(u1,u2) ans =  
>>% зададим единичную матрицу А размерности 3´3 >> A=eye(3,3) A = 1 0 0 0 1 0 0 0 1
>>% определим размерность матрицы А >> A=[1 2 3; 4 5 6]; >> size(A)   ans = 2 3
>>% вычислим определитель матрицы А >> A=[1 2 3; 2 3 4;3 4 5]; >> det(A)   ans =
>>% вычислим сумму элементов главной диагонали матрицы А >> A=[1 2 3; 2 3 4;3 4 5]; >> trace(A)   ans =
>>% вычислим матрицу, обратную А >> A=[1 2 3; 0 3 2;2 1 0]; >> B=inv(A)   >>% проверка >> A*B     B = 0.1667 -0.2500 0.4167 -0.3333 0.5000 0.1667 0.5000 -0.2500 -0.2500   ans = 1 0 0 0 1 0 0 0 1

Пример 3-6. Требуется решить систему линейных уравнений

Инструкция Результаты вычислений
>> %Решение >> А=[2 1 -1; 3 -2 1; 2 3 -2]; >> b=[0; 2; 1]; >> x=linsolve(a,b)   >> %Проверка >> a*x   x = 1.0000 3.0000 5.0000   ans = 0.0000 2.0000 1.0000  

Задание 3-1. Решите системы линейных уравнений





Дата публикования: 2015-01-14; Прочитано: 482 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...