Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab_manual.rtf
Скачиваний:
21
Добавлен:
30.08.2019
Размер:
17.64 Mб
Скачать

Index exceeds matrix dimensions

(Индекс превышает размерность матрицы)

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

X = A;

X(4,5) = 17

X =

16 3 2 13 0

5 0 11 8 0

9 6 7 12 0

4 15 14 1 17

Двоеточие (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)

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

R = randn(4,4)

R =

1.0668 0.2944 -0.6918 -1.4410

0.0593 -1.3362 0.8580 0.5711

-0.0956 0.7143 1.2540 -0.3999

-0.8323 1.6236 -1.5937 0.6900

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