Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MATLAB.pdf
Скачиваний:
194
Добавлен:
27.03.2015
Размер:
1.06 Mб
Скачать

Двоеточие (Colon)

Двоеточие, : , является одним из наиболее важных операторов MATLAB-а. Оно встречается в нескольких разных формах. Выражение 1:10 есть вектор-строка, содержащий целвые числа от 1 до 10:

1 2 3 4 5 6 7 8 9 10

Чтобы получить неединичное приращение, нужно задать приращение. Например,

есть

 

100 : -7 : 50

 

 

 

 

 

 

 

 

 

100

93

86

79

72

65

58

51

а

 

 

 

 

 

 

 

0 : pi/4 : pi

есть

0 0.7854 1.5708 2.3562 3.1416

Индексы, содержащие двоеточия, допускают обращение к частям матриц. Так, выражение

F (1:k, j)

дает первые k элементов j-го столбца матрицы F. То есть,

sum(F (1:4, 4))

вычисляет, как и в примере выше, сумму элементов 4-го столбца. Но есть еще лучший путь. Двоеточие само по себе означает обращение всемко элементам строки или столбца матрицы, а зарезервированное слово end есть обращение кпоследним строке или столбцу матрицы (в случае векторов-строк или столбцов словоend есть обращение кпоследнему элементу векто-ра). Значит,

sum(F (:, end))

вычисляет сумму элементов последнего столбца матрицы F . Ответ: ans = 34. Почему магическая сумма для волшебного квадрата 4 х 4 равна 34 ? Дело в том, что если целые числа от 1 до 16 (число элементов матрицы размера 4 х 4) упорядочены в четыре группы с равными сум-мами элементов, эта сумма должна быть равна

sum(1:16)/4

что, конечно, дает ans = 34.

Единичная матрица, нулевая матрицы и матрица из единиц. Двумерные массивы случайных чисел

Единичная матрица, то есть матрица имеющая единицы на главной диагонали и нулевые остальные элементы, в MATLAB-е обозначается eye, причем eye(n) есть единичная квадратная матрица размера nxn, eye(m,n) - прямоугольная единичная матрица размераmxn, а eye(size(A)) есть единичная матрица, имеющая размерность матрицы A. Например,

I = eye(3)

28

I =

1

0

0

0

1

0

0

0

1

I = eye (3,5)

I =

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

I = eye (4,2)

I =

1

0

0

1

0

0

0

0

Нулевая матрица, то есть матрица состоящая из нулей (массив нулей), в MATLAB-е обозначается zeros, причем zeros (n) есть нулевая квадратная матрица размераnxn, zeros (m,n) - прямоугольная нулевая матрица размера mxn, а zeros (size(A)) есть нулевая матрица имеющая размерность матрицы A.

Z = zeros(2,4)

Z =

0 0 0 0

0 0 0 0

Наконец, матрица состоящая из единиц(массив единиц), в MATLAB-е обозначается ones, причем ones (n) есть квадратный массив единиц размераnxn, ones (m,n) – прямоугольный массив единиц размераmxn, а ones (size(A)) есть массив единиц, имеющий размерность матрицы A.

S = 5*ones(3, 3)

S =

5

5

5

5

5

5

5

5

5

Аналогично, функция rand дает возможность сформировать соответствующие массивы случайных чисел в диапазоне от 0 до 1, распределенных по равномерному закону, а функция randn – по нормальному закону.

N = fix(10*rand(1,10))

N =

4 9 4 4 8 5 2 6 8 0

29

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