matlab函数sum和size用法-matlab函数sum和size用法.doc
matlab函数sum和size用法-matlab函数sum和size用法.doc matlab函数sum和size用法.doc sum函数解释函数功能 求数组元素的总和 使用方法B = sum 返回数组A不同维数的总和。 如果A是一个向量,sum 返回所有元素的总和。 如果A是一个矩阵,sum 把A的列作为向量,返回一个包含每一列所有元素的总和的行向量。 如果A是一个多维数组,sum 把没一维看做一个数组,返回一个行向量数组。 B = sum 沿着A的每一维计算总和用指定标量dim,dim是一个从1到N的整数值,其中N是A的维数。dim为1就是计算A的每一列的总和,2计算A的每一行的总和,以此类推。 B = sum和B = sum 在双精度下执行相加求和,返回double类型的结果,即使A是single数据类型或者integer数据类型。默认的是integer数据类型。 B = sum和B = sum 在native数据类型下执行相加求和,返回相同类型的结果,默认的是single和double.数据类型。 备注 B = sum) 是求X的迹。 应用举例 三阶幻方为: M = magic M = 8 1 6 3 5 7 4 9 2 因为三阶幻方每一列元素总和是相同的。 sum = 15 15 15 想求每一行元素的的总和,可以用转置或者用dim参数。 转置: sum = 15 15 15 用dim参数: sum ans = 15 15 15 支持非double数据类型 sum函数不仅仅支持double类型数据。 single数据类型: sum函数可以应用到single数据类型并返回一个single类型的结果。比如: sum) ans = 15 class ans = single Integer数据类型 sum函数应用到以下Integer数据类型时,MATLAB软件返回一个double数据类型的结果: int8 and uint8 int16 and uint16 int32 and uint32 例如: sum); class ans = single sum; class ans = double 如果你想MATLAB对Integer数据类型的结果是相同的Integer数据类型,可以用: sum; class ans =Size函数解释d = size; %返回矩阵的行数和列数,保存在d中【1】d = sizex=[2] x1=size=[1 1]y=[2 3] m=size=[1 2]y=[34 333] m=size=[1 2]y=[5 6 7] n=size=[1 3]y=[3 34 44577] n=size=[1 3]xx=[1 33 565 676] n=size=[1 4] [m,n] = size%返回矩阵的行数和列数,分别保存在m和n中【2】[m,n] = size[m n]=size m=1 n=2 m = size;%返回矩阵的行数或列数,dim=1返回行数,dim=2返回列数【3】 m = sizerand,1) 表示rand的第一个量m=size,1) m=1m=size,2) m=3m=size,3) m=4d = size d=[2 3 4][m,n,p] = size) m=2 n=3 p=4【4】[d1,d2,d3,...,dn] = sizeX = ones[d1,d2,d3] = size d1=3 d2=4 d3=5[d1,d2] = size d1=3 d2=20[d1,d2,d3,d4,d5,d6] = size d1 = 3 d2 =4 d3 =5 d4=d5=d6=1 在MATLAB编程中,`sum`和`size`是两个非常重要的函数,它们分别用于处理数组元素的求和与获取数组尺寸。 `sum`函数的主要功能是计算数组中所有元素的总和。当输入参数`A`是一个向量时,`sum(A)`将返回向量的所有元素之和;如果`A`是一个矩阵,`sum(A)`会计算每一列的总和,返回一个行向量;对于多维数组,`sum(A)`会沿着第一维进行求和,生成一个行向量数组。如果指定第二个参数`dim`(例如`sum(A,dim)`),可以沿任意维度进行求和,`dim=1`代表按列,`dim=2`代表按行,以此类推。此外,`sum(..., 'double')`和`sum(..., dim, 'double')`会以双精度计算并返回结果,而`sum(..., 'native')`和`sum(..., dim, 'native')`则会根据输入数据类型保持相同的数据类型。值得注意的是,对于Integer数据类型的输入,如`int8`、`int16`等,如果不指定 `'native'`,结果将默认转换为`double`类型。可以通过指定 `'native'` 来保持原数据类型。 `size`函数则用于获取数组的尺寸信息。调用`size(A)`会返回一个包含数组各维度大小的元胞数组,例如对于二维数组,它会返回行数和列数。若只想获取特定维度的大小,可以使用`size(A,dim)`,其中`dim`为1代表行数,2代表列数,对于多维数组,`dim`可以取1到数组的维数。例如,`[m,n] = size(A)`会分别将行数赋值给`m`,列数赋值给`n`。对于多维数组,`[m,n,p,...,dn] = size(A)`会返回所有维度的大小。 举例来说,考虑一个三阶幻方`M = magic(3)`,其每一列的元素总和都是相同的。通过`sum(M)`可以计算所有元素的总和,而`sum(M,1)`则得到每行的总和,`sum(M')`计算每列的总和。对于非`double`类型的数据,例如`single`类型,`sum`函数同样适用,并会返回相应类型的结果。 了解这两个函数的基本用法对于进行MATLAB编程,尤其是涉及数组运算时,是非常关键的。它们可以方便地帮助我们快速地处理数据的统计和维度查询,极大地提高了编程效率。在实际使用中,可以根据具体需求灵活运用这两个函数的不同参数和选项,以满足各种复杂的计算任务。
- 粉丝: 484
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助