- •Основы работы в matlab. Векторы и матрицы.
- •Введение
- •Среда matlab
- •1.1. Основный окна Matlab и выполнение элементарных вычислений
- •1.2. Редактирование и отладка м-файлов
- •Переменные в matlab
- •3. Массивы в matlab
- •4. Задачи линейной алгебры (векторы и матрицы)
- •1. Функции операций над векторами:
- •Функции определения матриц и операций над ними:
- •Функции, реализующие численные алгоритмы решения задач линейной алгебры:
- •Решение некоторых задач линейной алгебры
- •4. Решение некоторых задач алгебры матриц
- •5. Решение систем линейных уравнений
- •6. Собственные значения и собственные векторы
- •7. Норма и число обусловленности матрицы
- •8. Задания для самостоятельного решения
1. Функции операций над векторами:
■ Функция length (V) - определяет длину вектора V;
Листинг 17.
>> V=[-l 0 3-2 1 -1 1];%Вектор-строка
>> length(V)%Длина вектора
ans =
7
>> W=[0,3,1,1,2];%Вектор-столбец
>> length(W)%Длина вектора
ans =
5
■ prod (V) - вычисляет произведение элементов вектора V;
Листинг 18.
>> V=[l,2,3];
>> prod(V)%Произведение элементов вектора
ans =
6
■ cumprod (V) формирует вектор того же типа и размера, что и V, каждый элемент которого рассчитывается по формулам: v1, v1 * v2, v1* v2* v3,… v1* v2* v3*…* vn- то есть i-ый элемент вектора V умножается на произведение всех предыдущих элементов;
Листинг 19.
>> V=[l,2,3];
>> cumprod(V)
ans =
1 2 6
■ sum(V) – вычисляет сумму элементов вектора V;
Листинг 20.
>> V=[-l 0 3-2 1 -1 1];
>> sum(V) %Сумма элементов вектора
ans =
1
■ cumsum(V)
- формирует вектор
кумулятивной суммы, это вектор того же
типа и размера, что и V,
каждый элемент которого рассчитывается
следующим образом:
- то есть к i-му
элементу вектора V
прибавляется сумма
всех предыдущих элементов;
Листинг 21.
>> V=[-l 0 3 -2 1 -1 1];
>> cumsum(V)
ans =
-1 -1 2 0 1 0 1
■ diff
(V)-
формирует вектор,
размер которого на единицу меньше чем
у вектора V,
а каждый элемент представляет собой
разность между двумя соседними элементами
массива V,
то есть:
.
Листинг 22.
>>V=[-l 0 3 -2 1 -1 1];
>>diff(V)
ans =
3 -5 3 -2 2
■ min (V) - находит минимальный элемент вектора V, вызов в формате [k,n]=min(V) дает возможность определить минимальный элемент k и его номер n в массиве V;
■ max (V) - находит максимальный элемент массива V или при [k, n]= max (V) определяет максимум и его номер;
Листинг 23.
>> V=[-1 0 3 -2 1 -1 1];
>> min(V)%Минимальный элемент
ans =
-2
>> max(V)%Максимальный элемент
ans =
3
>> [k,n]=min(V) %Минимальный элемент и его номер
k =
-2
n =
4
>> [k,n]=max(V) % Максимальный элемент и его номер
k =
3
n =
3
■ mean(V) - определяет среднее арифметическое массива V;
Листинг 24.
>> V[-1 0 3 -2 1 -11];
>> mean(V)%Среднее значение массива V
ans *
0.1429
>>sum(V)/length(V)%To же что, и mean(V)
ans =
0.1429
■ dot(v1,v2)- вычисляет скалярное произведение векторов vl и v2 (функция sum (vl.*v2} выдаст тот же результат);
Листинг 25.
>>vl=[1.2,-0.3;-1.1];
>>v2=[-0.9;2.1;0.5];
>>dot(vl,v2)%Скалярное произведение
ans=
1
>> sum(v1.*v2) %Скалярное произведение
ans=
-1
■ cross (vl,v2) - определяет векторное произведение векторов vl и v2;
Листинг 26.
>> vl=[1.2;0.3;-l.l];
>> v2=[-0.9;2.1;0.5];
>> cross(vl,v2) %Векторное произведение
ans =
2.4600
0.3900
2.7900
■ sort (V) - выполняет упорядочивание массива V;
Листинг 27.
>> V=[-l 0 3 -2 1 -1 1];
>> sort(V)%Сортировка по возрастанию
ans =
-2 -1 -1 0 1 13
>> -sort(-V) %Сортировка по убыванию
ans =
1 1 0 -1 -1 -2
