matble中bsxfun()函数

本文介绍了Matlab中的bsxfun函数,包括其在矩阵与向量减法运算以及自定义函数体表达式中的应用。通过实例解析,详细展示了bsxfun的使用方法,如加法、减法、乘法等操作,并提供了与官方帮助文档的对比,便于理解和掌握。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面这句是在百度百科上面看到的非常形象,比官方给出的好,谢谢百度百科bsxfun()函数的编辑作者

两个非“单一维度”相互匹配的数组a和b做函数fun运算时,bsxfun会隐含扩充a或b使得a和b结构相同,以便实现逐元素运算。使用函数bsxfun可以避免用循环结构编程。
bsxfun调用格式:
bsxfun(@已有定义的函数名, 数组1,数组2)
bsxfun(@( 数组1,数组2)函数体表达式,数组1,数组2)

列举第一种情况

例一:矩阵与向量    减法运算@minus

例二:向量与向量    减法运算@minus

例一:矩阵与向量    减法运算@minus

>> A = [1 2 10; 1 4 20;1 6 15] 

A =
     1     2    10
     1     4    20
     1     6    15
>> mean(A)                             
ans =
     1     4    15

>> C = bsxfun(@minus, A, mean(A))                                                    

C =
     0    -2    -5
     0     0     5
     0     2     0

具体计算过程


A =
     1     2    10
     1     4    20
     1     6    15


为了计算,需要将mean(A)向量,变成与A矩阵大小相同的矩阵3X3,

所以,需要对mean(A)扩充,扩充方式就是,将1X3的向量,

复制三次,变成3X3的矩阵。

>> repmat(mean(A),3,1)

ans =
     1     4    15
     1     4    15
     1     4    15

然后两个矩阵相减

>> A-repmat(mean(A),3,1)
ans =
     0    -2    -5
     0     0     5
     0     2     0

例二:向量与向量    减法运算@minus

>> a=[1 2 3]
a =
     1     2     3

>> b=[2 3 4]'
b =
     2
     3
     4
c= bsxfun(@minus, a, b)
c =
    -1     0     1
    -2    -1     0
    -3    -2   &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值