趣百科

Matlab的求和函数sum的使用

编辑:Simone 2025-04-06 02:28:21 534 阅读

Matlab的求和函数sum的使用

Matlab的求和函数提供了强大的数组求和功能,其多种重载函数,几乎可以满足用户的所有要求

S = sum(A),求和

如果x是一个向量,则计算向量的元素之和,如:

>> x = randi(10,1,10)

x =

7 1 9 10 7 8 8 4 7 2

>> sum(x)

ans =

63

如果x的数组,则是计算数组的列之和,如:

>> x = pascal(4,2)

x =

-1 -1 -1 -1

3 2 1 0

-3 -1 0 0

1 0 0 0

>> sum(x)

ans =

0 0 0 -1

S = sum(A,dim),按照指定维度求和

dim = 1,表示对列求和

dim = 2,表示对行求和

dim = 3,表示对页求和

....,依次类推

例如:

>> a = toeplitz(1:5)

a =

1 2 3 4 5

2 1 2 3 4

3 2 1 2 3

4 3 2 1 2

5 4 3 2 1

>> sum(a,1)

ans =

15 12 11 12 15

>> sum(a,2)

ans =

15

12

11

12

15

S = sum(___,outtype)指定输出结果的数据类型

可选字符串参数为'double','default'和'native'

一般来说,默认是'default'

有时候我们对整数求和,想要结果输出为double类型,就可以用这个参数

比如:

>> a = single(1:4)

a =

1 2 3 4

>> class(sum(a,'double'))

ans =

double

>> class(sum(a))

ans =

single

Matlab的数据类型虽然比较全面,但是数据类型转化和其他语言不是完全一致,因此用的时候需要小心处理

S = sum(___,nanflag)是否忽略NaN值

有时候在求和的时候,数据中有NaN值影响,导致计算结果出现NaN,一般的处理方式是用isnan函数排除nan值,有了这个选项,就简单了

如:

>> a = rand(1,6);a(randperm(6,2)) = NaN

a =

0.7060 0.0318 NaN 0.0462 0.0971 NaN

>> sum(a)

ans =

NaN

>> sum(a,'omitnan')

ans =

0.8812

版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/life/170882.html

相关推荐