一、sum函數的基本用法
sum(A)
sum(A,dim)
sum函數在matlab中是一個很常用的函數,它的作用是對數組或矩陣中的元素進行求和。可以有兩種調用方式:1.輸入一個參數,對於輸入的矩陣或數組中所有元素求和;2.輸入兩個參數,對於第二個參數指定的維度(第一維為1,第二維為2,以此類推)求和。
二、兩個參數調用sum函數
B = sum(A,dim)
在輸入兩個參數時,sum函數會將輸入的矩陣或數組沿着指定的維度進行求和。比如:
A = [1 2 3; 4 5 6];
sum(A,1) % 沿着第一維進行求和,輸出結果為 [5 7 9]
sum(A,2) % 沿着第二維進行求和,輸出結果為 [6; 15]
除了這兩個參數,sum函數還可以額外輸入一個選項參數:'native'
或'default'
。當數組元素為整數類型時,使用'native'
參數會生成不同類型(比如int64)的向量或數組,而使用'default'
參數即可正常的返回數據類型。默認情況下,'default'
參數是被自動使用的。
三、sum函數的一些高級選項
B = sum(A, ..., 'double')
B = sum(A, ..., 'native')
B = sum(A, ..., 'omitnan')
B = sum(A, ..., 'includenan')
B = sum(___, 'double', 'native', ...)
除了最基本的輸入參數外,sum函數還有一些高級選項:
1. ‘double’參數
在輸入'double'
參數時,sum函數會生成浮點數向量或數組,即使輸入的數組元素是整數型的。使用這個參數可以避免數據類型轉換錯誤和舍入誤差,特別是在運算中出現非常小的值時。
A = [1 2; 3 4];
sum(A,'double') % 輸出結果為 10.0000
2. ‘native’參數
在輸入'native'
參數時,sum函數會生成指定類型的向量或數組,即使使用默認的選項。這個參數只適用於整數類型的數組。
A = [int32(1), int32(2) ;int32(3), int32(4)];
B = sum(A, 'native') % 輸出結果為 [int32(4), int32(6)]
3. ‘omitnan’參數
當輸入的數組中存在NaN元素(Not a Number, 比如0/0或Inf/Inf)時,如果使用默認的選項,sum函數會將整個求和結果定義為NaN。而使用'omitnan'
參數時,sum函數會忽略NaN元素,只對非NaN的元素求和。
A = [1 NaN 3; 4 5 NaN];
sum(A) % 輸出結果為 nan
sum(A,'omitnan') % 輸出結果為 13
4. ‘includenan’參數
和'omitnan'
相反,使用'includenan'
參數時,sum函數只對NaN元素進行求和。
A = [1 NaN 3; 4 5 NaN];
sum(A,'includenan') % 輸出結果為 NaN 5 NaN
5. 多個參數同時使用
可以同時使用'double'
和'native'
參數,同理,也可以同時使用多個其他的高級參數。
A = [int32(1), int32(2) ;int32(3), int32(4)];
B = sum(A, 'double', 'native') % 輸出結果為 6.0000
四、總結
通過本文的介紹可以看出,sum函數在matlab中是一個非常實用的函數,尤其是對於對矩陣、數組中元素進行求和時。無論是基本的應用還是高級的選項,sum函數都是一個非常靈活的,容易理解和使用的函數。
原創文章,作者:JCITB,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/349303.html