И другие программы этой серии
Если A – матрица, cumprod(A) возвращает матри
цу того же размера, что и A, содержащую произведения с накоплением для
каждого столбца матрицы A (первая строка без изменений, во второй стро
ке – произведение первых двух элементов каждого столбца, в третьей – эле
менты второй строки матрицы результата умножаются на элементы тре
тьей строки матрицы входного аргумента по столбцам и т. д.);
• cumprod(A,dim) – возвращает произведение с накоплением элементов по
строкам или столбцам матрицы в зависимости от значения скаляра dim.
Например, cumprod(A,1) дает прирост первому индексу (номеру стро
ки), таким образом выполняя умножение по столбцам матрицы A.
Примеры:
>> A=[1 2 3; 4 5 6; 7 8 9]
A=
1
2
3
4
5
6
7
8
9
>> B = cumprod(A)
B=
1
2
3
4
10
18
28
80
162
B = cumprod(A,1)
B=
1
2
3
4
10
18
28
80
162
2
0
4
0
0
2
0
4
0
0
1
3
0
0
2
4
4.2.5. Суммирование элементов массивов
Определены следующие функции суммирования элементов массивов:
• sum(A) – возвращает сумму элементов массива, если A – вектор, или век
тор строку, содержащую сумму элементов каждого столбца, если A – мат
рица;
• sum(A,dim) – возвращает сумму элементов массива по столбцам (dim=1),
строкам (dim=2) или иным размерностям, в зависимости от значения ска
ляра dim.
Пример:
>> A=magic(4)
A=
16
5
9
4
>> B = sum(A)
B=
34
• cross(U,V) – возвращает векторное произведение векторов U и V в трех
мерном пространстве, то есть W=U?V. U и V – обязательно векторы с тремя
элементами;
• cross(U,V,dim) – возвращает векторное произведение U и V по размер
ности, определенной скаляром dim. U и V – многомерные массивы, которые
должны иметь одну и ту же размерность, причем размер векторов в каждой
размерности size(U,dim) и size(V,dim) должен быть равен 3.
Пример:
>> a = [6 5 3]; b = [1 7 6];c = cross(a,b)
c=
9
-33
37
2
11
7
14
34
3
10
6
15
34
13
8
12
1
34
• cumsum(A) – выполняет суммирование с накоплением. Если A – вектор,
cumsum(A) возвращает вектор, содержащий результаты суммирования
с накоплением элементов вектора A.