matlab中的bsxfun函数简介

bsxfun函数在MATLAB中用于对矩阵的每个元素执行特定运算,如@min和@times。它按照类似矩阵乘法的规则比较元素,但执行指定的运算而非乘法。例如,@min函数找到两个矩阵对应元素的最小值,而@times则进行元素级别的乘法。通过示例展示了bsxfun如何工作,包括计算差值和缩放因子的应用。

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

bsxfun函数是对矩阵中每个元素进行操作的函数,函数形式是C = bsxfun(fun,A,B),fun是代表要执行的运算,可以是下图中的任何一个,比如@plus





例1:


a=[1 2 3];

c=[1.1;1.9;3.1];


v=bsxfun(@min,a,c);


执行结果:


@min从名字上就可以看出,是比较大小,问题在于怎么比较,其实,它的比较规则跟错c*a是一样的,也就是和[1 2 3]*[1.1;1.9;3.1]规则一样,只不过对应元素不进行乘法运算,而是进行min,即取最小运算。

例2:

v就是例1的结果。@times是乘法运算,这里矩阵v和矩阵xstep都是3*3的,所以执行的就是对应元素相乘。


                                       

暂时只用到这两个函数,其它的函数应该都差不多的,有空可以试一下。



[html]  view plain   copy
  1. >> a=[1,2,3]  
  2.   
  3. a =  
  4.   
  5.      1     2     3  
  6.   
  7. >> b=[1.1 1.9 3.1]  
  8.   
  9. b =  
  10.   
  11.     1.1000    1.9000    3.1000  
  12.   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ncst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值