matlab ——标识符@使用方法(全解)

matlab中@是用于定义函数句柄的操作符

下面介绍两种常用的用法

1.函数句柄既是一种变量,可以用于传参和赋值

比如说 变量名=@+一个函数名

f=@sin%那么它就可以传参,用法和sin函数一样,把它当作函数名使用

2、语法:   变量名=@(输入参数列表)运算表达式

这样,变量名就可以当作函数名来使用,用来传参

比如f=@(x)sin(x)

怎么样使我们的matlab程序写的更有比格

比如

roadmap = PRM (@()(RandomSampleSixLink(obstacle)), @DistSixLink, @(x,y)(LocalPlannerSixLink(x,y,obstacle)), nsamples, neighbors);

(这么多@,是不是喜欢人家,才艾特他。)

例如第二个@DistSixLink的函数为function out = DistSixLink (x1, x2)而在function roadmap = PRM (RandomSample, Dist, LocalPlanner, nsamples, k)中第三个为Dist变量名里面调用为distances = Dist(x, samples(:,1:(i-1)));

由此我们明白了,这就是典型的一个使用@达到函数调用的功能,在函数调用中@+函数名,然后在PRM函数里传入的变量名字就可以调用这个函数。

@ALL当中最受欢迎的是matlab自带函数bsxfun(@+内置函数,变量1,变量2)

比如

还有其他内置函数,相减@minus、取余mod/rem(x,y同号时结果一样,异号时rem随x,mod随y),斜率@atan2等

需要补充的是bxsfun函数也可以用来作为自定义:注意此处只能用两个变量

 

>> z = bsxfun(@(x,y)(x+y),1,3)

 

z =

 

     4

 

当然函数名也是matlab自带的,详情请看help bsxfun

 

 

 

 

 

 

  • 13
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值