Материал: lesson1

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Задание 1: (действия с векторами)

1) Введите вектор 'a' из 9 элементов. С экрана элементы вектора вводятся в квадратных скобках, разделяемые пробелом.

a = [1 2 3 4 6 4 3 4 5] % Вводите свой вектор с другими значениями.

Нажмите ENTER, посмотрите на сообщение на экране.

2) Теперь выполните то же но с точкой с запятой:

a = [1 2 3 4 6 4 3 4 5]; % Используйте клавиши перелистывания ↑ и ↓, чтобы не

% повторять набор заново!!

Нажмите ENTER, посмотрите на сообщение на экране.

3) Прибавьте число 2 к элементам вектора а :

Выполните оператор:

b = a + 2 % Сейчас мы умышленно не ставим точку с запятой, чтобы

% посмотреть на результат

  1. Транспонируем вектор b:

C=b’ % Знак транслонирования матрицы – апостроф ‘ (соответствует

% клавише буквы Э на нижнем регистре латиницы)

  1. Попробуйте выполнить операцию

D= a+C % убедитесь, что она невозможна, поймите почему (?).

Выполните

D=a’+C

Выполните слияние:

E=[a;b]

E=[E;b]

Генерация векторов (ранжированных переменных, т.Е. Массивов с постоянным шагом)

Выполните операторы:

X=1:10 % шаг 1 не ставьте точки с запятой, наблюдайте результаты

Y=0:0.25:1 % шаг 0.25

Z=0:pi/4:2*pi % шаг pi/4

X1=0:0.1*pi:4*pi

Y1=sin(X1)

Система MATLAB позволяет выполнять практически любые операции с матрицами

либо с помощью арифметических операций либо с помощью многочисленных специаль-

ных функций системы

' - транспонирование,

inv - построение обратной матрицы,

det - вычисление определителя,

eig - вычисление собственных значений

и т.д.

О б я з а т е л ь н ы м требованием при выполнении операций над матрицами

является соответствие размерностей матричных операндов правилам линейной алгеб-

ры. Поэлементное умножение, деление и возведение в степень производится с по-

мощью операций .* , ./ и .^ , соответственно.

ПОЭЛЕМЕНТНОЕ ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ

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

x=[1 2 3 4] и y=[5 6 7 8].

Предположим, что вам хотелось бы перемножить (поделить, возвести в степень) элементы векторов x и y.

Если мы напишем x*y или x/y или x^3, то получим сообщение об ошибке, так как строки нельзя перемножить, разделить друг на друга по правилам матричной алгебры (несоответствие размерностей). Однако для получения желаемого результата в MATLAB есть дубли арифметических операций. Они имеют те же значки, что и основные операции, но с точкой перед знаком операции.

Выполните в командном окне:

x.*y % Результат – вектор, элементы которого равны произведениям соответствующих элементов векторов x и y

x./y % Элементы x будут поделены на соответствующие элементы y

x.^3 % Элементы вектора x будут возведены в 3-ю степень.

2.2. Примеры выполнения матричных операций

П р и м е р 1 . Вычисление произведения двух матриц:

1 2

A = 3 4 ; B = 7 8 1

5 0 9 0 2

Рассмотрим последовательность необходимых для этого действий.

Операторы ввода матриц:

>> A=[ 1 2;3 4;5 0];

>> B=[ 7 8 1;9 0 2];

Теперь можно выполнить умножение введенных матриц:

>> C=A*B

После ввода последней команды на экране появится результат:

C =

25 8 5

57 24 11

35 40 5

П р и м е р 2 . Транспонирование матрицы .

>> D=C'

В результате на экране появится ответ

D =

25 57 35

8 24 40

5 11 5

П р и м е р 3 . Вычисление определителя матрицы с помощью функции det .

>> d=det(C)

Ответ, получаемый в результате такого обращения к функции det:

d =

0

П р и м е р 4 . Обращение матрицы с помощью функции inv .

>> A=[1 2 3;4 0 6;7 1 9];

>> D=inv(A)

D =

-0.3333 -0.8333 0.6667

0.3333 -0.6667 0.3333

0.2222 0.7222 -0.4444

Убедимся, что построенная таким образом матрица D является обратной к A,

т.е. произведение A*D представляет собой единичную матрицу:

>> A*D

ans =

1.0000 -0.0000 0.0000

-0.0000 1.0000 -0.0000

-0.0000 0.0000 1.0000

ГЕНЕРАЦИЯ СПЕЦИАЛЬНЫХ МАТРИЦ:

Для создания специальных матриц существуют функции:

zeros – создание матрицы с нулевыми элементами,

ones - создание матрицы с единичными элементами,

rand – создание матрицы со случайными элементами (равномерно на [0,1] распределенными случайными числами),

eye – создание единичной матрицы

Выполните операции:

A = zeros(3,2)

AA = zeros(5)

B = ones(1,10)

BB = ones(3)

C=rand(2,5)

CC=rand(7)

E=eye(5)

П р и м е р 5 . Решение системы линейных алгебраических уравнений

вида A*X=B, где A - матрица коэффициентов, B - вектор

(столбец) правых частей, X - вектор решения системы.

>> A=[5 1 2;2 3 1;7 2 -1];

>> B=[5;5;0];

>> X=A\B

ans =

0

1

2

Использованная в примере операция равносильна умножению обратной к A матрицы

на вектор B:

>> inv(A)*B

ans =

0

1

2

П р и м е р 6 . Операции "вырезки" из матрицы.

Зададим матрицу A

>> A=[1 3 2 6 5;2 6 7 4 1];

Выделение определенной последовательности элементов матрицы производится

следующим образом:

>> A(2,3) %выделение одного элемента

ans =

7

>> A(2,:) %выделение строки

ans =

2 6 7 4 1

>> A(:,4) %выделение столбца

ans =

6

4

>> A(1:2,2:4) %выделение прямоугольного фрагмента

ans =

3 2 6

6 7 4

П р и м е р 7 . Операции сравнения.

Существуют операторы отношения < , <= , > , >= .

Операторы отношения производят п о э л е м е н т н о е сравнение двух

матриц и возвращают матрицу той же размерности с элементами 1, где отно-

шение истинно и 0, где отношение ложно:

< - меньше чем ( <= означает "меньше или равно");

> - больше чем ( >= означает "больше или равно").

Выполним некоторые из этих операций для матриц A и D из примера 4:

>> A>D =

1 1 1

1 1 1

1 1 1

>> A<=D =

0 0 0

0 0 0

0 0 0

П р и м е р 8 . Логические операции осуществляются с помощью операторов:

== - логический оператор эквивалентности;

& - логическое "И". A&B - это матрица, элементы которой равны 1, если

соответствующие элементы и A и B ненулевые, иначе равны 0;

| - логическое "ИЛИ". A|B - это матрица, элементы которой равны 1,

если соответствующие элементы или A или B ненулевые, иначе равны 0;

~= - логическое дополнение "НЕ"( ~= означает не "равно").

Например, для тех же матриц A и D

>> A&D =

1 1 1

1 0 1

1 1 1

>> A==D =

0 0 0

0 0 0

0 0 0

З а д а н и е:

1. Составить систему линейных алгебраических уравнений (СЛАУ) , заведомо

имеющую единственное решение, записать ее в виде матричного уравнения

A * X = B (*)

Элементы для матриц A и B определяются из условия:

а) для четных номеров (из журнала группы) – произвольные целые числа

aij [-20; -10] , bj [15; 20] ;

б) для нечетных номеров (из журнала группы) – произвольные целые числа aij [10; 20] , bj [-15; -7].

2. Найти решение СЛАУ средствами системы MATLAB и проверить, что найден-

ное решение удовлетворяет уравнению (*).

3. Средствами системы MATLAB построить матрицу, обратную матрице А, и убе-

диться в том, что полученная матрица обладает требуемым свойством.

Получить решение СЛАУ (*) методом обратной матрицы, т.е. путем вычис-

ления произведения матрицы, обратной A,и вектора B.

4. Выполнить четыре из перечисленных в примерах 7,8 операций сравнения

а) матрицы A и обратной ей матрицы;

б) матрицы A и единичной матрицы той же размерности.

Источник: https://studfile.net/preview/16497280/