一、sum函數的基本使用
sum函數是matlab中的一個非常基礎的函數,用於計算矩陣或數組中元素之和。使用sum函數可以方便地進行數據分析、統計等操作。
使用sum函數的基本語法如下:
sum(A,dim)其中,A為矩陣或數組,dim為維度參數,表示對哪一維度進行求和操作。如果不指定dim,則默認對所有維度進行求和操作。
例如,如果有一個3×4的矩陣A:
A = [1 2 3 4; 5 6 7 8; 9 10 11 12];則可以使用以下語句對A進行求和操作:
sum(A)輸出結果為:
ans = 45 54 63 72因為不指定dim時默認對所有維度進行求和,所以輸出的結果是一個1×4的行向量。其中第一個元素為A的第一列元素之和,第二個元素為A的第二列元素之和,以此類推。
二、sum函數的常用擴展用法
1. 指定dim參數進行求和操作
sum函數的dim參數可以指定對哪一個維度進行求和操作。如果有一個3×4的矩陣B:
B = [1 2 3 4; 5 6 7 8; 9 10 11 12];我們可以使用以下語句對B的第一維(行)進行求和操作:
sum(B,1)輸出結果為:
ans = 15 18 21 24因為指定了dim=1,所以對B的每一列進行求和,輸出結果為1×4的行向量。其中第一個元素為B的第一列元素之和,第二個元素為B的第二列元素之和,以此類推。
2. 求矩陣每行或每列的元素之和
在實際數據分析中,我們常常需要求矩陣每行或每列的元素之和。可以使用sum函數的另一種用法實現:
sum(B,2)輸出結果為:
ans = 10 26 42因為指定了dim=2,所以對B的每一行進行求和,輸出結果為3×1的列向量。其中第一個元素為B的第一行元素之和,第二個元素為B的第二行元素之和,以此類推。
3. 對指定區域進行求和操作
除了對整個矩陣進行求和外,sum函數還可以對矩陣中的指定區域進行求和操作。例如,有一個5×5的矩陣C:
C = magic(5)可以使用以下語句對C的第2~4行、第3~5列的區域進行求和操作:
sum(sum(C(2:4,3:5)))輸出結果為:
ans = 138通過C(2:4,3:5)選出了指定區域,再使用sum函數的嵌套進行求和操作。
4. 對含NaN值的矩陣求和
當矩陣中存在NaN值時,直接使用sum函數進行求和會出現問題。例如,有一個3×3的矩陣D:
D = [1 2 NaN; 4 NaN 6; 7 8 9];如果直接使用sum函數對D進行求和:
sum(D)會輸出以下結果:
ans = 12 NaN NaN 19這是會出現NaN值的原因是,NaN含義為“Not a number”,它是一種特殊的值,代表一個不存在或未定義的數值。
為了避免出現NaN值,可以使用nanmean函數或nansum函數進行求和操作。nanmean函數會忽略掉矩陣中的NaN值,計算平均值;nansum函數也會忽略掉NaN值,進行求和操作。
例如,使用nansum函數對D進行求和:
nansum(D)輸出結果為:
ans = 28三、代碼示例
基本使用
A = [1 2 3 4; 5 6 7 8; 9 10 11 12];
sum(A)求矩陣每行或每列的元素之和
sum(A,2)對指定區域進行求和操作
C = magic(5);
sum(sum(C(2:4,3:5)))對含NaN值的矩陣求和
D = [1 2 NaN; 4 NaN 6; 7 8 9];
nansum(D)上述代碼示例可以用於自學和練習。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/280898.html
微信掃一掃
支付寶掃一掃