![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для выполнения операций над массивами в 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; Прочитано: 496 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!