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