Syntax
Description
example
S = sum(
returns the sum of the elements of AA
)
along the first array dimension whose size is greater than 1.
-
If
A
is a vector, thensum(A)
returns
the sum of the elements. -
If
A
is a matrix, thensum(A)
returns
a row vector containing the sum of each column. -
If
A
is a multidimensional array, then
sum(A)
operates along the first array dimension whose
size is greater than 1, treating the elements as vectors. The size of
S
in this dimension becomes1
while the sizes of all other dimensions remain the same as in
A
. -
If
A
is a table
or timetable, thensum(A)
returns a one-row table
containing the sum of each variable. (since R2023a)
example
S = sum(
A
,"all"
)
returns the sum of all elements of A
.
example
S = sum(
A
,dim
)
returns the sum along dimension dim
. For example, if
A
is a matrix, then sum(A,2)
returns a
column vector containing the sum of each row.
example
S = sum(
A
,vecdim
)
sums the elements of A
based on the dimensions specified in the
vector vecdim
. For example, if A
is a matrix,
then sum(A,[1 2])
returns the sum of all elements in
A
because every element of a matrix is contained in the array
slice defined by dimensions 1 and 2.
example
S = sum(___,
returns the sumouttype
)
with the specified data type, using any of the input arguments in the previous
syntaxes. outtype
can be "default"
,
"double"
, or "native"
.
example
S = sum(___,
specifies whethernanflag
)
to include or omit NaN
values in A
. For
example, sum(A,"omitnan")
ignores NaN
values
when computing the sum. By default, sum
includes
NaN
values.
Examples
collapse all
Sum of Vector Elements
Create a vector and compute the sum of its elements.
Sum of Matrix Columns
Create a matrix and compute the sum of the elements in each column.
A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3
1 3 2
4 2 5
6 1 4
Sum of Matrix Rows
Create a matrix and compute the sum of the elements in each row.
A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3
1 3 2
4 2 5
6 1 4
Sum of Array Slices
Use a vector dimension argument to operate on specific slices of an array.
Create a 3-D array whose elements are 1.
To sum all elements in each page of A
, specify the dimensions in which to sum (row and column) using a vector dimension argument. Since both pages are a 4-by-3 matrix of ones, the sum of each page is 12.
S1 = S1(:,:,1) = 12 S1(:,:,2) = 12
If you slice A
along the first dimension, you can sum the elements of the resulting 4 pages, which are each 3-by-2 matrices.
Slicing along the second dimension, each page sum is over a 4-by-2 matrix.
To compute the sum over all dimensions of an array, you can either specify each dimension in the vector dimension argument, or use the "all"
option.
Sum of 3-D Array
Create a 4-by-2-by-3 array of ones and compute the sum along the third dimension.
A = ones(4,2,3); S = sum(A,3)
Sum of 32-Bit Integers
Create a vector of 32-bit integers and compute the int32
sum of its elements by specifying the output type as native
.
A = int32(1:10);
S = sum(A,"native")
Sum Excluding Missing Values
Create a matrix containing NaN
values.
A = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]
A = 2×4
1.7700 -0.0050 NaN -2.9500
NaN 0.3400 NaN 0.1900
Compute the sum of the matrix, excluding NaN
values. For matrix columns that contain any NaN
value, sum
computes with the non-NaN
elements. For matrix columns that contain all NaN
values, the sum is 0.
S = 1×4
1.7700 0.3350 0 -2.7600
Input Arguments
collapse all
A
— Input array
vector | matrix | multidimensional array | table | timetable
Input array, specified as a vector, matrix, multidimensional array, table, or timetable.
-
If
A
is a scalar, then
sum(A)
returns
A
. -
If
A
is an empty 0-by-0 matrix, then
sum(A)
returns
0
.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| duration
| table
| timetable
Complex Number Support: Yes
dim
— Dimension to operate along
positive integer scalar
Dimension
to operate along, specified as a positive integer scalar. If you do not specify the dimension,
then the default is the first array dimension of size greater than 1.
Dimension dim
indicates the dimension whose
length reduces to 1. The size(S,dim)
is 1
,
while the sizes of all other dimensions remain the same.
Consider a two-dimensional input array, A
:
-
sum(A,1)
operates on successive
elements in the columns ofA
and returns a row
vector of the sums of each column. -
sum(A,2)
operates on successive
elements in the rows ofA
and returns a column
vector of the sums of each row.
sum
returns A
when dim
is
greater than ndims(A)
or when size(A,dim)
is 1
.
Data Types: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
vecdim
— Vector of dimensions
vector of positive integers
Vector of dimensions, specified as a vector of positive integers. Each
element represents a dimension of the input array. The lengths of the output
in the specified operating dimensions are 1, while the others remain the
same.
Consider a 2-by-3-by-3 input array, A
. Then
sum(A,[1 2])
returns a 1-by-1-by-3 array whose
elements are the sums of each page of A
.
Data Types: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
outtype
— Output data type
"default"
(default) | "double"
| "native"
Output data type, specified as "default"
, "double"
, or
"native"
. These options also specify the data type in
which the operation is performed.
outtype |
Output data type |
---|---|
"default" |
double , unless the input data type is single ,duration , table ,or timetable , in which case, the outputis "native" |
"double" |
double , unless the data type is duration ,table , ortimetable , in which case,"double" is not supported |
"native" |
Same data type as the input, unless the input data type is char , in whichcase, "native" is not supported; orunless the input data type is timetable ,in which case the output data type is table |
nanflag
— Missing value condition
"includemissing"
(default) | "includenan"
| "omitmissing"
| "omitnan"
Missing value condition, specified as one of these values:
-
"includemissing"
or
"includenan"
— Include
NaN
values inA
when
computing the sum. If any element in the operating dimension is
NaN
, then the corresponding element in
S
isNaN
.
"includemissing"
and
"includenan"
have the same behavior. -
"omitmissing"
or"omitnan"
— IgnoreNaN
values in
A
, and compute the sum over fewer points. If
all elements in the operating dimension areNaN
,
then the corresponding element inS
is 0.
"omitmissing"
and
"omitnan"
have the same behavior.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
This function fully supports tall arrays. For
more information, see Tall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
-
If you specify
dim
, then it must
be a constant. -
The
outtype
andnanflag
options
must be constant character vectors. -
See Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
Usage notes and limitations:
-
If you specify
dim
, then it must be a
constant. -
The
outtype
andnanflag
options
must be constant character vectors.
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For
more information, see Run MATLAB Functions in Thread-Based Environment.
GPU Arrays
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
Usage notes and limitations:
-
The order of the additions in the
sum
operation is
not defined. Therefore, thesum
operation on a GPU
array might not return exactly the same answer as the
sum
operation on the corresponding numeric array.
The difference might be significant whenA
is a signed
integer type and its product is accumulated natively.
For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Distributed Arrays
Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.
Usage notes and limitations:
-
The order of the additions in
sum
operation is not
defined. Therefore, thesum
operation on a distributed
array might not return exactly the same answer as the
sum
operation on the corresponding numeric array.
The difference might be significant whenA
is a signed
integer type and its product is accumulated natively.
For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced before R2006a
expand all
R2023a: Specify missing value condition
Include or omit missing values in the input array when computing the sum by using
the "includemissing"
or "omitmissing"
options.
These options have the same behavior as the "includenan"
and
"omitnan"
options, respectively.
R2023a: Perform calculations directly on tables and timetables
The sum
function can calculate on all variables within a table or
timetable without indexing to access those variables. All variables must have data types
that support the calculation. For more information, see Direct Calculations on Tables and Timetables.
R2018b: Operate on multiple dimensions
Operate on multiple dimensions of the input array at a time. Specify a vector of
operating dimensions, or specify the "all"
option to operate on
all array dimensions.
sum
Синтаксис
Описание
пример
S = sum(
возвращает сумму элементов массива вдоль первого измерения массива, размер которого не равняется 1.A
)
-
Если
A
вектор, затемsum(A)
возвращает сумму элементов. -
Если
A
матрица, затемsum(A)
возвращает вектор-строку, содержащий сумму каждого столбца. -
Если
A
многомерный массив, затемsum(A)
действует вдоль первого измерения массива, размер которого не равняется 1, обрабатывая элементы как векторы. Эта размерность становится1
в то время как размеры всех других размерностей остаются то же самое.
пример
S = sum(
вычисляет сумму всех элементов A
,'all'
)A
. Этот синтаксис допустим для MATLAB® версии R2018b и позже.
пример
S = sum(
возвращает сумму по измерению A
,dim
)dim
. Например, если A
матрица, затем sum(A,2)
вектор-столбец, содержащий сумму каждой строки.
пример
S = sum(
суммирует элементы A
,vecdim
)A
на основе размерностей, заданных в векторном vecdim
. Например, если A
матрица, затем sum(A,[1 2])
сумма всех элементов в A
, поскольку каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.
пример
S = sum(___,
возвращает сумму с заданным типом данных, с помощью любого из входных параметров в предыдущих синтаксисах. outtype
)outtype
может быть 'default'
'double'
, или 'native'
.
пример
S = sum(___,
задает, включать ли или не использовать nanflag
)NaN
значения от вычисления для любого из предыдущих синтаксисов. sum(A,'includenan')
включает весь NaN
значения в вычислении, в то время как sum(A,'omitnan')
игнорирует их.
Примеры
свернуть все
Сумма векторных элементов
Создайте вектор и вычислите сумму его элементов.
Сумма столбцов матрицы
Создайте матрицу и вычислите сумму элементов в каждом столбце.
A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3
1 3 2
4 2 5
6 1 4
Сумма матричных строк
Создайте матрицу и вычислите сумму элементов в каждой строке.
A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3
1 3 2
4 2 5
6 1 4
Сумма срезов массивов
Используйте векторный аргумент размерности, чтобы работать с определенными срезами массива.
Создайте трехмерный массив, элементы которого равняются 1.
Суммировать все элементы на каждой странице A
, задайте размерности, в которых можно суммировать (строка и столбец) с помощью векторного аргумента размерности. Поскольку обе страницы 4 3 матрица из единиц, сумма каждой страницы равняется 12.
S1 = S1(:,:,1) = 12 S1(:,:,2) = 12
Если вы нарезаете A
по первому измерению можно суммировать элементы получившихся 4 страниц, которые являются каждым 3 2 матрицы.
Режущий вдоль второго измерения, каждая сумма страницы по 4 2 матрица.
Начиная в R2018b, суммировать по всем размерностям массива, можно или задать каждую размерность в векторном аргументе размерности или использовать 'all'
опция.
Сумма трехмерного массива
Создайте 4 2 3 массивами из единиц и вычислите сумму по третьему измерению.
A = ones(4,2,3); S = sum(A,3)
Сумма 32-битных Целых чисел
Создайте вектор из 32-битных целых чисел и вычислите int32
сумма его элементов путем определения выходного типа как native
.
A = int32(1:10);
S = sum(A,'native')
Сумма, исключая NaN
Создайте вектор и вычислите его сумму, исключая NaN
значения.
A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
S = sum(A,'omitnan')
Если вы не задаете 'omitnan'
, затем sum(A)
возвращает NaN
.
Входные параметры
свернуть все
A
— Входной массив
вектор | матрица | многомерный массив
Входной массив, заданный как векторный, матричный или многомерный массив.
-
Если
A
скаляр, затемsum(A)
возвращаетA
. -
Если
A
пустая матрица 0 на 0, затемsum(A)
возвращает0
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| duration
Поддержка комплексного числа: Да
dim
— Размерность, которая задает направление расчета
положительный целочисленный скаляр
Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.
Размерность dim
указывает на размерность, длина которой уменьшает до 1. size(S,dim)
1
, в то время как размеры всех других размерностей остаются то же самое.
Рассмотрите двумерный входной массив, A
:
-
sum(A,1)
работает с последовательными элементами в столбцахA
и возвращает вектор-строку из сумм каждого столбца. -
sum(A,2)
работает с последовательными элементами в строкахA
и возвращает вектор-столбец сумм каждой строки.
sum
возвращает A
когда dim
больше ndims(A)
или когда size(A,dim)
1
.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
vecdim
— Вектор из размерностей
вектор из положительных целых чисел
Вектор из размерностей в виде вектора из положительных целых чисел. Каждый элемент представляет размерность входного массива. Продолжительности выхода в заданных операционных размерностях равняются 1, в то время как другие остаются то же самое.
Рассмотрите 2 3х3 входным массивом, A
. Затем sum(A,[1 2])
возвращает 1 1 3 массивами, элементами которых являются суммы каждой страницы A
.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
outtype
— Тип выходных данных
'default'
(значение по умолчанию) | 'double'
| 'native'
Выходные данные вводят в виде 'default'
'double'
, или 'native'
. Эти опции также задают тип данных, в котором выполняется операция.
outtype |
Тип выходных данных |
---|---|
'default' |
double , если типом входных данных не является single или duration , в этом случае выходом является 'native' |
'double' |
double , если типом данных не является duration , в этом случае, 'double' не поддерживается |
'native' |
совпадающий тип данных как вход, если типом входных данных не является char , в этом случае, 'native' не поддерживается |
Типы данных: char
nanflag
NaN
условие
‘includenan
’(значение по умолчанию) | ‘omitnan
’
NaN
условие в виде одного из этих значений:
-
'includenan'
— ВключайтеNaN
значения при вычислении суммы, приведении кNaN
. -
'omitnan'
— Проигнорируйте весьNaN
значения во входе.
Типы данных: char
Расширенные возможности
“Высокие” массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Указания и ограничения по применению:
-
Если вы задаете
dim
, затем это должна быть константа. -
outtype
иnanflag
опции должны быть постоянными векторами символов. -
“Смотрите информацию о генерации кода функций Toolbox (MATLAB Coder) в разделе “”Ограничения переменных размеров””.”.
Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.
Указания и ограничения по применению:
-
Если вы задаете
dim
, затем это должна быть константа. -
outtype
иnanflag
опции должны быть постоянными векторами символов.
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Указания и ограничения по применению:
-
Порядок сложений в
sum
операция не задана. Поэтомуsum
операция на массиве графического процессора не может дать точно тот же ответ какsum
операция на соответствующем числовом массиве MATLAB. Различие может быть значительным когдаA
тип целого числа со знаком, и его продукт накапливается исходно.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Указания и ограничения по применению:
-
Порядок сложений в
sum
операция не задана. Поэтомуsum
операция на распределенном массиве не может дать точно тот же ответ какsum
операция на соответствующем числовом массиве MATLAB. Различие может быть значительным когдаA
тип целого числа со знаком, и его продукт накапливается исходно.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
Представлено до R2006a
This article will discuss the “Finding sum of elements of an array” in MATLAB that can be done using multiple approaches which are illustrated below.
Using sum(A)
This is used to return the sum of the elements of the array along the first array dimension whose size does not equal 1. It returns a row vector containing the sum of each column.
Example:
Matlab
A = [1 2 3; 4 5 6]
Sum = sum(A)
Output:
A = 1 2 3 4 5 6 Sum = 5 7 9
Using sum(A, ‘all’)
sum(A, ‘all’) is used to calculate the sum of all elements of A. And this syntax is valid only for MATLAB versions R2018b and later.
Example:
Matlab
A = [1 3 5; 2 4 6; 7 9 11; 8 10 12]
Sum = sum(A)
Output:
A = 1 3 5 2 4 6 7 9 11 8 10 12 Sum = 18 26 34
Using sum(A, dim)
sum(A, dim) is used to return the sum along dimension dim. For example, sum(A, 2) is a column vector containing the sum of each row.
Example:
Matlab
A = [1 3 5; 2 4 6; 7 9 11; 8 10 12]
Sum = sum(A, 2)
Output:
A = 1 3 5 2 4 6 7 9 11 8 10 12 Sum = 9 12 27 30
Using sum(A, vecdim)
This function is used to sum the elements of A based on the dimensions specified in the vector vecdim.
Example:
Matlab
A = [1 3 5; 2 4 6; 7 9 11; 8 10 12; 13 14 15]
Sum = sum(A, [2, 3])
Output:
A = 1 3 5 2 4 6 7 9 11 8 10 12 13 14 15 Sum = 9 12 27 30 42
sum(___, outtype)
sum(___, outtype) is used to return the sum with a specified data type, using any of the input arguments in the previous syntaxes. Here the outtype can be ‘default’, ‘double’, or ‘native’.
Example:
Matlab
A = int32(1:5);
Sum = sum(A,
'native'
)
Output:
Sum = 15
Using sum(___, nanflag)
sum(___, nanflag) is used to specify whether to include or omit NaN values from the calculation for any of the previous syntaxes. sum(A,’includenan’) includes all NaN values in the calculation while sum(A,’omitnan’) ignores them.
Example:
Matlab
A = [1 -0.05 10.45 NaN 0.8 NaN 1.8 NaN];
Sum = sum(A,
'omitnan'
)
Output:
Sum = 14
Lets see addition of Using sum() function over sum() function. It will return Sum of the array’s elements entirely.
Example 1:
Matlab
A = [1 2 3; 4 5 6]
Sum = sum(sum(A))
Output:
A = 1 2 3 4 5 6 Sum = 21
Example 2:
Matlab
A = [1 3 5; 2 4 6; 7 9 11; 8 10 12]
Sum = sum(sum(A))
Output:
A = 1 3 5 2 4 6 7 9 11 8 10 12 Sum = 78
Last Updated :
29 Jul, 2021
Like Article
Save Article
Introduction to Sum Function in Matlab
MATLAB is a language used for technical computing. As most of us will agree, an easy to use environment is a must for integrating tasks of computing, visualizing and finally programming. MATLAB does the same by providing an environment that is not only easy to use but also, the solutions that we get are displayed in terms of mathematical notations which most of us are familiar with. In this article, we will look in-depth at the Sum Function in Matlab.
Uses of Matlab Include (But Not Limited To)
- Computation
- Development of Algorithms
- Modeling
- Simulation
- Prototyping
- Data analytics (Analysis and Visualization of data)
- Engineering & Scientific graphics
- Application development
MATLAB provides its user with a basket of functions, in this article we will understand a powerful function called ‘Sum function’.
Syntax:
S = sum(A)
S = sum(A, dim)
S = sum(A, vecdim)
S = sum(__, outtype)
S = sum(__, nanflag)
Description of Sum Function in Matlab
Now let us understand all these functions one by one.
1. S = sum(A)
- This will return the sum of all the elements of ‘A’ along the dimension of the array which is non-singleton i.e. the size is not equal to 1 (It will consider the first dimension which is non-singleton).
- sum(A) will return the sum of the elements if A is vector.
- sum(A) will return a row vector which will have some of each column if A is a matrix.
- If A is a multidimensional array, sum(A) will operate along the 1st array dimension whose size is not equal to 1 and will treat all the elements as vectors. This dimension will become 1 and the size of other dimensions will not be changed.
Now Let us understand sum(A) with an example. But before that, please keep in mind that in MATLAB, matrices have the following dimensions:
1=rows, 2=columns, 3=depth
Example #1 – When we have both rows & columns
As explained above, sum(A) will do the addition along the 1st dimension which is non-singleton. For a single row/column, we will get the result as one number.
A = [1, 3, 7 ; 5, -8, 1];
S = sum(A);
Note: here S is the resulting sum and A is an array whose sum we need.
A =
Here 1 is the first non-singleton dimension (the dimension whose length is not equal to 1). So, some will be along with the row elements i.e. going down.
S = sum(A) = 6 -5 8
Example #2 – When we have only 1 row
A = [2, 3, 7 ];
B = sum(A);
Here first non-singleton dimension is 2 (i.e. columns). So, the sum will be along with the column elements
B = sum(A) = 12
Example #3 – When we only have 1 column
A = [2 ; 5];
So, A =
Here, the first non-singleton dimension is 1, so the sum will be along with the row elements.
B = sum(A) = 7
2. S = sum(A, dim)
This function will return sum along the dimension passed in argument.
Example
A = [2 4 3; 5 3 6; 7 2 5]
So, A =
S = sum(A,2)
Here we have passed ‘2’ as an argument, so the sum will be along dimension 2.
So, S =
3. S = sum(A, vecdim)
This function will sum the elements based on the dimensions that are specified in the vector ‘vecdim’. For eg. if we have a matrix, then the sum(A,[1 2]) will be the sum of all the elements in A, because every element of matrix A will be contained in the slice of the array defined by dimensions 1 & 2 (Remember that dimension 1 is for Rows and 2 is for columns)
Example
A = ones(3,3,2);
(This will create a 3-D array whose all elements are equal to 1)
Now, To sum all the elements present in each slice of matrix A, we need to specify the dimensions which we want to sum (both row & column). We can do this by providing a vector dimension as an argument. In our example, both the slices are a 3 * 3 matrix of ones, so the sum will be 9.
S1 = sum(A,[1 2])
So, S1 = S1(:, :, 1) = 9
&
S1(:, :, 2) = 9
4. S = sum(A, outtype)
This function will return the sum with the data type passed in the argument. The ‘outtype’ can be ‘native’, ‘default’ or ‘double’.
Example
A = int32(5: 10);
S = sum(A, 'native')
Output for this will be,
S = int32
45
Where int32 is the native data type of elements of A and 45 is the sum of the elements from 5 to 10.
5. S = sum(nanflag)
This will specify if we need to include or omit NaN from our calculations.
sum(A, ‘includenan’) will include all the NaN values that are present in the calculation.
sum(A, ‘omitnan’) will ignore all the NaN values.
Example
A = [1 -5 3 -2 NaN 4 NaN 9];
S = sum(A, 'omitnan')
So, the output that we will get is
S = 10
(After ignoring all the NaN values)
Conclusion
So, as we can see, MATLAB is a system whose basic data element is an array that does not require any dimensioning. This allows us to solve computing problems, especially the problems with matrix & vector formulations. All this is done in a significantly less amount of time when compared to writing a program in a scalar and non-interactive language such as C.
Recommended Articles
This is a guide to Sum Function in Matlab. Here we discuss the uses of Matlab, syntax, examples along with the description of sum function in Matlab respectively. You may also look at the following articles to learn more –
- Vectors in Matlab
- Transfer Functions in Matlab
- Matlab Operators
- What is Matlab?
- Matlab Compiler | Applications of Matlab Compiler
- Суммируйте элементы матрицы, используя цикл в MATLAB
- Суммируйте элементы матрицы, используя функцию
sum()
в MATLAB
В этом руководстве будет обсуждаться, как суммировать элементы матрицы с помощью цикла и функции sum()
в MATLAB.
Суммируйте элементы матрицы, используя цикл в MATLAB
В матрице существует два вида индексации; один – это индексирование строк и столбцов, при котором мы должны указать номер строки и столбца для доступа к элементу, присутствующему в матрице, второй – это линейное индексирование, при котором мы можем получить доступ к элементу, используя только его линейный индекс. Например, см. Код ниже.
m = [2 6 1; 17 19 18]
row_col_index = m(2,3)
linear_index = m(6)
Выход:
m =
2 6 1
17 19 18
row_col_index =
18
linear_index =
18
В приведенном выше коде мы обращаемся к последнему элементу матрицы, используя оба вида индексации. При линейной индексации элементы присутствуют в матрице, начиная с первого столбца. Итак, если вы отсчитываете от первого столбца, последний элемент присутствует в шестом индексе. Чтобы перебрать матрицу с использованием индексации строк и столбцов, вам потребуется два цикла, но в случае линейной индексации вам потребуется только один цикл. Например, давайте переберем матрицу, используя линейную индексацию и найдя сумму всех элементов. См. Код ниже.
m = [2 6 1; 17 19 18];
total = 0;
for i = 1:numel(m)
total = total + m(i);
end
sumOfElements = total
Выход:
Выше мы использовали функцию numel()
, чтобы получить общее количество элементов, присутствующих в данной матрице, и вычислили сумму всех элементов, присутствующих в матрице, используя цикл и линейную индексацию.
Суммируйте элементы матрицы, используя функцию sum()
в MATLAB
Чтобы найти сумму всех элементов матрицы, вы можете использовать функцию sum()
. В случае матрицы вы должны использовать функцию sum()
два раза, один для строк и один для столбцов, но в случае вектора вы должны использовать sum()
только один раз. . Например, давайте найдем сумму всех элементов, присутствующих в данной матрице. См. Код ниже.
m = [2 6 1; 17 19 18];
sumOfElements = sum(sum(m))
Выход:
Вы также можете выбрать размеры матрицы, по которой вы хотите вычислить сумму. Посетите эту ссылку, чтобы узнать больше о функции sum()
.