Как найти сумму в matlab

Syntax

Description

example

S = sum(A) returns the sum of the elements of A
along the first array dimension whose size is greater than 1.

  • If A is a vector, then sum(A) returns
    the sum of the elements.

  • If A is a matrix, then sum(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 becomes 1
    while the sizes of all other dimensions remain the same as in
    A.

  • If A is a table
    or timetable, then sum(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(___,outtype) returns the sum
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(___,nanflag) specifies whether
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

AInput 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

dimDimension 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 of A and returns a row
    vector of the sums of each column.

    sum(A,1) column-wise computation.

  • sum(A,2) operates on successive
    elements in the rows of A and returns a column
    vector of the sums of each row.

    sum(A,2) row-wise computation.

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

vecdimVector 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.

sum(A,[1 2]) collapses the pages of a 2-by-3-by-3 array into a 1-by-1-by-3 array.

Data Types: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

outtypeOutput 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 output
is "native"
"double" double, unless the data type is duration,
table, or
timetable, in which case,
"double" is not supported
"native" Same data type as the input, unless the input data type is char, in which
case, "native" is not supported; or
unless the input data type is timetable,
in which case the output data type is
table

nanflagMissing value condition
"includemissing" (default) | "includenan" | "omitmissing" | "omitnan"

Missing value condition, specified as one of these values:

  • "includemissing" or
    "includenan" — Include
    NaN values in A when
    computing the sum. If any element in the operating dimension is
    NaN, then the corresponding element in
    S is NaN.
    "includemissing" and
    "includenan" have the same behavior.

  • "omitmissing" or "omitnan"
    — Ignore NaN values in
    A, and compute the sum over fewer points. If
    all elements in the operating dimension are NaN,
    then the corresponding element in S 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 and nanflag 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 and nanflag 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, the sum 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 when A 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, the sum 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 when A 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(A) возвращает сумму элементов массива вдоль первого измерения массива, размер которого не равняется 1.

  • Если 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

Sum Function in Matlab

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 =

Sum Function in Matlab eg1

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 =

Sum Function in Matlab eg2

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 =

Sum eg4

S = sum(A,2)

Here we have passed ‘2’ as an argument, so the sum will be along dimension 2.
So, S =

Sum eg5

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 –

  1. Vectors in Matlab
  2. Transfer Functions in Matlab
  3. Matlab Operators
  4. What is Matlab?
  5. Matlab Compiler | Applications of Matlab Compiler
  1. Суммируйте элементы матрицы, используя цикл в MATLAB
  2. Суммируйте элементы матрицы, используя функцию sum() в MATLAB

Суммирование элементов матрицы в 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().

Добавить комментарий