Matlab: sum的用法、每一行求和、repmat的用法、sum和repmat结合使用减少循环

偶尔会用到关于矩阵元素的求和,总结一下常用的

目录

1、向量求和

2、矩阵求和

(1)默认按列求和,得到一个行向量 

(2)求每一行的和

3、sum和repmat一起使用

(1)矩阵A中每一行的平方和

(2)repmat的基本用法

(3)高斯核的计算


1、向量求和

直接调用sum即可,得到所有元素的和

a = [1 3 5 7];
s = sum(a); 

2、矩阵求和

调用格式:

s = sum(A,dim); % dim = 1,按列求和;dim = 2,按行求和

(1)默认按列求和,得到一个行向量 

(2)求每一行的和

b = [1 3 5 7;2 4 6 8]
s = sum(b,2); % 得到一个列向量

3、sum和repmat一起使用

结合repmat使用,可以节省一些for循环的运算,比如支持向量机中的核函数的表示(高斯核)

(1)矩阵A中每一行的平方和

A = [1 3 5 7;2 4 6 8];
s = sum(A.*A,2); % 对应元素点乘,再按行相加

(2)repmat的基本用法

% A可以是向量或矩阵

B = repmat(A,m,n); % 产生m行n列的A,并组成矩阵

(3)高斯核的计算

% A是m1行n列的矩阵;C是m行n列的矩阵

KA = exp(-(repmat(sum(A.*A,2),1,m)+repmat(sum(C.*C,2)',m1,1)-2*A*C')/(p^2)); % K(A,C)

  • 17
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值