matlab |
您所在的位置:网站首页 › matlab中的log函数 › 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
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |