Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Выделение треугольных частей матриц




Практическая работа в МатЛаб

Работа с научным калькулятором

1. Запустить МатЛаб

 

>> a = [1 2 3 4 6 4 3 4 5], // создаем простой вектор из 9 элементов

 

a =

1 2 3 4 6 4 3 4 5 //значения этого вектора

 

>> b = a + 2, // создается переменный вектор В, который равен b = a + 2

 

b =

3 4 5 6 8 6 5 6 7 // значения этого вектора

 

Чтобы создать график в MATLAB часто достаточно одной команды. Например, изобразим график результата сложения векторов, в поле с координатной сеткой

 

>> a = [1 2 3 4 6 4 3 4 5];

>> b = a + 2;

>> plot(b)

>> grid

 

Так же легко MATLAB может создать другие типы графиков: графики, с осями координат, графики с подписанными осями.

>> bar(b),

 

Область, в которой MATLAB особенно эффективен - это операции, с матрицами. Создать матрицу также просто, как создать вектор, используя, очку с запятой ";" для разделения рядов матрицы.

>> A = [1 2 0; 2 5 -1; 4 10 -1]

A =

1 2 0

2 5 -1

4 10 -1

>> B = [1 2 3; 4 5 6; 7 8 9]

B =

1 2 3

4 5 6

7 8 9

Перемножим по-элементно (.*)

>> C=A.*B

C =

1 4 0

8 25 -6

28 80 -9

Возможен ввод элементов матриц и векторов в виде арифметических выражений, содержащих любые доступные системе функции, например:

>> V=[1 2 3]

>> V= [2+2/(3+4) exp(5) sqrt(10)]

V = 2.2857 148.4132 3.1623

Для указания отдельного элемента вектора или матрицы используются выражения вида V(1) или M(i, j). Например, если задать

>> m=[10 20 30; 40 50 60; 70 80 90]

m =

10 20 30

40 50 60

70 80 90

Т.е. матрица оформляется как пересечение строки и столбца

 

       
       
       
       

>> m(1,1)

ans = 10

>> m(3,2)

ans = 80

>> m(1,3)

ans = 30

Например, если элементу m(2, 2) надо присвоить значение -6, следует записать

» m(2,2)=-6

Выражение А(:) — записывает все элементы массива А в виде столбца.

>> m(:)

Выражение М(i) с одним индексом дает доступ к элементам матрицы, развернутым в один столбец. Такая матрица образуется из исходной, если подряд выписать ее столбцы.

Было Стало
10 20 30 40 50 60 70 -6 90 -6

> m(3)

ans = 70

>> m(4)

ans = 20

>> m(6)

ans = -6

>> m(8)=100

m =

10 20 30

40 50 100

70 -6 90

Удаление столбцов и строк матриц

Для формирования матриц и выполнения ряда матричных операций возникает необходимость удаления отдельных столбцов и строк матрицы. Для этого используются пустые квадратные скобки [ ]. Удалим второй столбец используя оператор: (двоеточие):

>> m(:,2)=[]

m =

10 30

40 100

70 90

А теперь, используя оператор: (двоеточие), удалим вторую строку:

 

>> m(2,:)=[]

m =

10 30

70 90

Суммирование элементов

Определены следующие функции суммирования элементов массивов:

  • sum(A) — возвращает сумму элементов массива, если А — вектор, или вектор-строку, содержащую сумму элементов каждого столбца, если А — матрица;
  • sum(A.dim) — возвращает сумму элементов массива по столбцам (dim-1), строкам (dim=2) или иным размерностям в зависимости от значения скаляра dim.

Пример:

» A=magic(4)    
А =    
16 2    
5 11    
9 7    
4 14    
»B=sum(A)    
В =    

34 34 34 34

  • cumsum(A) — выполняет суммирование с накоплением. Если А — вектор, cumsum(A) возвращает вектор, содержащий результаты суммирования с накоплением элементов вектора А. Если А — матрица, cumsum(A) возвращает матрицу того же размера, что и А, содержащую суммирование с накоплением для каждого столбца матрицы А;
  • cumsum(A.dim) — выполняет суммирование с накоплением элементов по размерности, определенной скаляром dim. Например, cumsum(A.l) выполняет суммирование по столбцам.

Пример:

» A=magic(4)

А =

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

» В = cumsum(A)

В =

16 2 3 13

21 13 13 21

30 20 19 33

34 34 34 34

Выделение треугольных частей матриц

При выполнении ряда матричных вычислений возникает необходимость в выделении треугольных частей матриц. Следующие функции обеспечивают такое выделение:

  • tril(X) — возвращает матрицу, все элементы которой выше главной диагонали X заменены нулями, неизменными остаются лишь элементы нижней треугольной части, включая элементы главной диагонали;
  • tril(X.k) — возвращает неизменной нижнюю треугольную часть матрицы X начиная с k-й диагонали. При k=0 это главная диагональ, при k>0 — одна из верхних диагоналей, при k<0 — одна из нижних диагоналей.

Пример:

» М=[3.1.4:8.3.2;8.1.1]

М =

3 1 4

8 3 2

8 1 1

» tril(M)

ans =

3 0 0

8 3 0

8 1 1

  • triu(X) — возвращает неизменной верхнюю треугольную часть матрицы X включая элементы главной диагонали, и заменяет нулями остальные элементы;
  • triu(X.k) — возвращает неизменной верхнюю треугольную часть матрицы X начиная с k-й диагонали. При k=0 — это главная диагональ, при k>0 — одна из верхних диагоналей, при k<0 — одна из нижних диагоналей.

Пример:

м =

3 1 4

8 3 2

8 1 1

» triu(M)

ans =

3 1 4

0 3 2

0 0 1





Поделиться с друзьями:


Дата добавления: 2016-12-05; Мы поможем в написании ваших работ!; просмотров: 562 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2305 - | 2068 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.