Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Glava_2a70_2014.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
4.6 Mб
Скачать

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

Создавать новые массивы можно также путем удаления строк и столбцов исходных массивов. Для этих целей используются парные квадратные скобки ([ ]), которые в системе MATLAB обозначают пустой массив. Пусть, например, требуется удалить вторую строку матрицы R:

>> R=[3 2 4 1; -3 -6 -5 7; 0 1 8 2]

R =

3 2 4 1

-3 -6 -5 7

0 1 8 2

С этой целью присвоим второй строке матрицы R пустой массив, используя квадратные скобки:

>> R(2,:)=[]

R =

3 2 4 1

0 1 8 2

Аналогично можем удалить второй и третий столбцы получившейся в результате матрицы

>> R(:,2:3)=[]

R =

3 1

0 2

2.15.4. Использование функций перестановки частей матриц.

Отметим, что в системе MATLAB существует также несколько функций, позволяющих формировать новые массивы посредством перестановки частей имеющихся матриц. Это, например, функция fliplr, которая переставляет столбцы заданной матрицы относительно вертикальной оси:

>> N=[1 2 3 4; 5 6 7 8; 9 10 11 12]

N =

1 2 3 4

5 6 7 8

9 10 11 12

>> Np=fliplr(N)

Np =

4 3 2 1

8 7 6 5

12 11 10 9

Функция flipud переставляет строки заданной матрицы относительно горизонтальной оси (столбцы матрицы поворачиваются «вверх ногами»):

>> Np=flipud(N)

Np =

9 10 11 12

5 6 7 8

1 2 3 4

Функция fliplr переворачивает строки матрицы «задом наперед»:

>> Np=fliplr(N)

Np =

4 3 2 1

8 7 6 5

12 11 10 9

Заметим, что функция flipdim(N,dim) осуществляет переворот относительно размерности с номером dim. В частности, команда flipdim(N,1) реализует перестановку строк, а flipdim(N,2) – перестановку столбцов.

Функция rot90 «поворачивает» заданную матрицу на 90 градусов против часовой стрелки:

>> Np=rot90(N)

Np =

4 8 12

3 7 11

2 6 10

1 5 9

Функция rot90(N,k) «поворачивает» заданную матрицу N на 90 градусов против часовой стрелки k раз, например:

>> Np=rot90(N,2)

Np =

12 11 10 9

8 7 6 5

4 3 2 1

2.15.5. Определение размеров и размерностей массивов.

Для того, чтобы узнать размеры двумерного массива и «геометрию» векторов (вектор-строки или вектор-столбцы) следует использовать функцию size. Так, например, будем иметь:

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

A =

1 2 3

4 5 6

>> size(A)

ans =

2 3

где первым числом указывается количество строк, а вторым – число столбцов. Применим теперь данную операцию к одномерным массивам

>> B=ones(1,3)

B =

1 1 1

>> size(B)

ans =

1 3

>> B=ones(3,1)

B =

1

1

1

>> size(B)

ans =

3 1

Разумеется, можно применить рассматриваемую функцию и к скаляру, т.е. к переменной, состоящей из единственного числового значения

>> p=7.5;

>> size(p)

ans =

1 1

т.е. скалярные величины трактуются в системе MATLAB как двумерные массивы размером 1х1, при этом векторы рассматриваются как матрицы, размер которых по одному из направлений равен единице.

Пустой массив в MATLAB рассматривается как матрица размером 0х0:

>> G=[]

G =

[]

>> size(G)

ans =

0 0

Для нахождения размерности переменной используется функция ndims (в общем случае данная функция подсчитывает число измерений массива (очевидно, что это число не может быть меньше двух, если даже скаляр в системе MATLAB рассматривается как матрица размером 1х1)

>> p=7.5;

>> ndims(p)

ans =

2

Итак, все переменные с которыми работает система MATLAB являются массивами различной размерности и размеров. Размерность массива можно узнать, обратившись к функции ndims, а размеры – к функции size. Тип массива определяется типом его элементов. В приведенных выше примерах использовались массивы типа double, элементы которых – вещественные или комплексные числа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]